From: Kaz K. <kk...@rr...> - 2007-06-18 02:34:57
|
Paul Mundt <le...@li...> wrote: > Yes, but I'm rather concerned about the size, perhaps we should > and move it out-of-line and inline the op handlers? > > If we just have a set of atomic_futex_op_xxx() ops that correspond to > each FUTEX_OP_xxx that are inlined in futex.h (FR-V seems to do this > already, in arch/frv/kernel/futex.c), futex_atomic_op_inuser() can be > brought out-of-line without any trouble, and we can bury all of the > local_irq_xxx() mess in the futex op itself. Looks not so different with atomic.h and I always prefer to follow the x86 way :-) But, anyway, either way looks ok. > Also, is futex_atomic_cmpxchg_inatomic() required, or should this simply > be a -ENOSYS if we don't have ll/sc methods? It seems like kernel/futex.c > handles the -ENOSYS case ok, and other platforms do return this way. Former, I believe. It looks that kernel simply ignore such platforms in full futex support which is required by glibc. In general, platforms without ll/sc-like can't use nptl and aren't target of current glibc in the first place. SH is an exception in this regard by virtue of gUSA. Regards, kaz |