On Fri, May 17, 2013 at 2:05 PM, Mikael Pettersson <mikpe@xxxxxxxx> wrote:
> > --- linux-3.8/arch/m68k/include/asm/futex.h.~1~ 1970-01-01 01:00:00.000000000 +0100 > > +++ linux-3.8/arch/m68k/include/asm/futex.h 2013-02-20 22:07:23.459917612 +0100 > > @@ -0,0 +1,94 @@ > > +#ifndef _ASM_M68K_FUTEX_H > > +#define _ASM_M68K_FUTEX_H > > + > > +#ifdef __KERNEL__ > > +#if !defined(CONFIG_MMU) > > +#include <asm-generic/futex.h> > > +#else /* CONFIG_MMU */ > > Why would you not use the version below on nommu? > It doesn't seem to have any real dependencies on MMU support? > What am I missing? The only reason I don't handle no-MMU is that I don't know how much no-MMU butchers the semantics of the various primitives (mainly the user-space accessors).
The userspace accessors shouldn't matter much, I think.
Does no-MMU pagefault_disable() disable preemption? This code relies on that.
It seems it does.
> > +#include <linux/futex.h> > > +#include <linux/uaccess.h> > > +#include <asm/errno.h> > > + > > +static inline int > > +futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, > > + u32 oldval, u32 newval) > > +{ > > + u32 val; > > + > > + if (unlikely(get_user(val, uaddr) != 0)) > > + return -EFAULT; > > + > > + if (val == oldval && unlikely(put_user(newval, uaddr) != 0)) > > + return -EFAULT; > > + > > + *uval = val; > > + > > + return 0; > > +} > > This is purely generic, so it could move to the asm-generic version, > also fixing blackfin, c6x, metag, openrisc, um, unicore32, and xtensa? Yes it should be put somewhere generic, but I don't want to have to investigate each and every arch to guess if they can safely use this version or not. I'd rather put this somewhere alongside the stub futex.h and have other archs opt-in at the discretion of their maintainers.
Anyway, the m68k version is now in mainline, so I'll let the uClinux people decide the rest... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html