Looks much better.
However, I think you'er wrong about two things:
- BH_Hole is not in fact useful. It's an added state with no meaning,
because it can _always_ be seen as
!BH_Mapped && BH_Uptodate
and as such adding it as a new bit only implies coherency problems
without actually adding any information. Drop it..
- BH_Protected _is_ actually needed. Trust me. You can't just increment
the b_count counter, because if you do that every time you write, it
will eventually wrap.
As BH_Protected doesn't actually make anything more complicated, I
don't see any reason to drop it. I already tried to do that, and the
reason that it was still in 2.3.9-pre4 was that I re-instated it in all
its glory.
I also think that trying to optimize the hole thing is futile. It adds
complexity without gaining you anything in real life. You'd get a few
really cool benchmark results, but no real speedup, and you'd have a
kernel with extra rules just to try to keep them sane.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/