Re: [PATCH 0/2] jump label: 2.6.38 updates

From: Mathieu Desnoyers
Date: Mon Feb 14 2011 - 18:34:17 EST


* David Miller (davem@xxxxxxxxxxxxx) wrote:
> From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
> Date: Mon, 14 Feb 2011 18:03:01 -0500
>
> > If this is true, then we have bugs in lots of xchg/cmpxchg users (which
> > do not reside in atomic.h), e.g.:
> >
> > fs/fs_struct.c:
> > int current_umask(void)
> > {
> > return current->fs->umask;
> > }
> > EXPORT_SYMBOL(current_umask);
> >
> > kernel/sys.c:
> > SYSCALL_DEFINE1(umask, int, mask)
> > {
> > mask = xchg(&current->fs->umask, mask & S_IRWXUGO);
> > return mask;
> > }
> >
> > The solution to this would be to force all xchg/cmpxchg users to swap to
> > atomic.h variables, which would force the ll semantic on read. But I'd
> > really like to see where this is documented first -- or which PowerPC
> > engineer we should talk to.
>
> We can't wholesale to atomic_t because we do this on variables of
> all sizes, not just 32-bit ones.
>
> We do them on pointers in the networking for example.

We have atomic_long_t for this, but yeah, it would kind of suck to have
to create

union {
atomic_long_t atomic;
void *ptr;
}

all around the place. Let's see if we can get to know which PowerPC
processor family all this fuss is about, and where this rumour
originates from.

Thanks,

Mathieu


--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/