Re: 2.4.15-pre9 breakage (inode.c)

Alexander Viro (viro@math.psu.edu)
Sat, 24 Nov 2001 01:51:49 -0500 (EST)


On Sat, 24 Nov 2001, Andrea Arcangeli wrote:

> I don't care who has to do it, but who has to do it it has to do it in a
> very very very very slow path, and you want to handle it in iput fast
> path instead, cute?

Let's count. In the place where before -pre9 iput() had
return;
we have (2.4.15 + patch)
if (!sb || sb->s_flags & MS_ACTIVE)
return;
and on the fast path the first is false and second is true.

Price:
compare with zero
not taken branch
test (register + offset), <bit>
not taken branch
return
instead of
return
Compare with the stuff we had done just before that. Pollution of fast
path sucks, but here it _is_ noise.

I agree that variant in 2.4.15 is crap - hell, it's completely broken.
Please, grab the patch in question, apply to 2.4.15 and look at the
resulting code.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/