Messages in this thread | | | From | Segher Boessenkool <> | Subject | Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures | Date | Tue, 21 Aug 2007 16:59:08 +0200 |
| |
> At some point in the future, barrier() will be universally regarded as > a hammer too big for most purposes. Whether or not removing it now
You can't just remove it, it is needed in some places; you want to replace it in most places with a more fine-grained "compiler barrier", I presume?
> constitutes premature optimization is arguable, but I think we should > allow such optimization to happen (or not happen) in > architecture-dependent code, and provide a consistent API that doesn't > require the use of such things in arch-independent code where it might > turn into a totally superfluous performance killer depending on what > hardware it gets compiled for.
Explicit barrier()s won't be too hard to replace -- but what to do about the implicit barrier()s in rmb() etc. etc. -- *those* will be hard to get rid of, if only because it is hard enough to teach driver authors about how to use those primitives *already*. It is far from clear what a good interface like that would look like, anyway.
Probably we should first start experimenting with a forget()-style micro-barrier (but please, find a better name), and see if a nice usage pattern shows up that can be turned into an API.
Segher
- 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/
| |