Re: 2.4.15-pre9 breakage (inode.c)

From: Alexander Viro (viro@math.psu.edu)
Date: Sat Nov 24 2001 - 01:51:49 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/



This archive was generated by hypermail 2b29 : Fri Nov 30 2001 - 21:00:16 EST