Messages in this thread | | | Subject | Re: New resources - pls, explain :-( | Date | Sun, 15 Aug 1999 00:46:04 +0100 (BST) | From | Alan Cox <> |
| |
> Linus Torvalds wrote: > > - writel() - strict ordering > > - __writel() - only to be used for people who REALLY know that they don't > > care about ordering. > > As a bonus, it can actually be more efficient for writel() to implement > ordering instead of explicit barriers in the driver. > > How so? See type aliasing rules...
Store ordering below the compiler level is important. Doing
foo[1]=1; foo[0]=2;
May well be strictly ordered from the C point of view. What it looks like to another CPU or on another bus is entirely different to what ANSI says about the code within program flow.
There are two layers of caches, write buffers on the cpu and the bridges and also inter cpu cache fill logic all conspiring to anooy you and all below the C world
- 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/
| |