Messages in this thread | | | Date | Wed, 27 Feb 2008 17:57:26 -0800 | From | Andrew Morton <> | Subject | Re: Linux 2.6.25-rc2 |
| |
On Wed, 27 Feb 2008 15:32:52 -0800 (PST) Christoph Lameter <clameter@sgi.com> wrote:
> On Tue, 19 Feb 2008, Mathieu Desnoyers wrote: > > > incrementing the variable with a "++" when interrupts are not disabled. > > It's not an atomic add and it's racy. The code within stat() does > > exactly this. > > Yes but that is only for used for statistics which can be racy. Note that > the VM event statistics also can be racy. >
Doing ++ on a u32 _is_ atomic wrt interrupts on x86 and probably lots of other architectures, so we're OK using unsigned there. But on some other architectures ++ on u32 is not atomic wrt interrutps, so they should use atomic_t or some other arch-specific mechanism.
And guess what? It's already all been done: local_t.
| |