Re: 2.4.15-pre9 breakage (inode.c)

Alexander Viro
2001-11-24T06:52:20Z

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.