On Thu, 6 Jul 2006, Mark Lord wrote: > > I'm still browsing a copy here, but so far have only really found this: > > A volatile declaration may be used to describe an object corresponding > to a memory-mapped input/output port or an object accessed by an > aysnchronously interrupting function. Actions on objects so declared > shall not be "optimized out" by an implementation or reordered except > as permitted by the rules for evaluating expressions. Note that the "reordered" is totally pointless. The _hardware_ will re-order accesses. Which is the whole point. "volatile" is basically never sufficient in itself. So the definition of "volatile" literally made sense three or four decades ago. It's not sensible any more. Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [patch] spinlocks: remove 'volatile'
- From: Avi Kivity <[email protected]>
- Re: [patch] spinlocks: remove 'volatile'
- From: "Chris Friesen" <[email protected]>
- Re: [patch] spinlocks: remove 'volatile'
- References:
- Re: [patch] uninline init_waitqueue_*() functions
- From: Ingo Molnar <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Andrew Morton <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Ingo Molnar <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Andrew Morton <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Linus Torvalds <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Ingo Molnar <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Linus Torvalds <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Ingo Molnar <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Linus Torvalds <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- From: Linus Torvalds <[email protected]>
- [patch] spinlocks: remove 'volatile'
- From: Ingo Molnar <[email protected]>
- Re: [patch] spinlocks: remove 'volatile'
- From: "linux-os \(Dick Johnson\)" <[email protected]>
- Re: [patch] spinlocks: remove 'volatile'
- From: Arjan van de Ven <[email protected]>
- Re: [patch] spinlocks: remove 'volatile'
- From: Mark Lord <[email protected]>
- Re: [patch] uninline init_waitqueue_*() functions
- Prev by Date: Re: [PATCH] hisax fix usage of __init*
- Next by Date: Re: 2.6.17-mm6
- Previous by thread: Re: [patch] spinlocks: remove 'volatile'
- Next by thread: Re: [patch] spinlocks: remove 'volatile'
- Index(es):