The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* making asm-generic/futex.h completely usable
@ 2009-07-03  8:14 Mike Frysinger
  2009-07-03 15:51 ` Arnd Bergmann
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Frysinger @ 2009-07-03  8:14 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-kernel, Paul Mundt

ive been reading up on futexes of late and have been poking around the
futex kernel pieces to see what is needed to get Blackfin working with
it.

Blackfin falls into the "no hardware atomic instructions" category as
can easily be seen in our atomic.h: disable interrupts, do
load/stores, restore interrupts.  my understanding of the
futex_atomic_op_inuser() function is that this runs in process
context, so this same interrupt trick should work fine.  which leads
me to wonder why doesnt the asm-generic/futex.h header already take
this approach ?

seems to me that the SuperH implementation fits the bill nicely.
their arch/sh/include/asm/futex-irq.h looks like it could be literally
straight copied into asm-generic/futex.h thus making it fully
functional for everyone by default.

also, the futex_atomic_op_inuser() function itself seems to largely be
copy & paste between architectures ... the only differences are in the
atomic functions called by FUTEX_OP_XXX.  so perhaps the structure of
the header should follow that of asm-generic/uaccess.h in that arches
can override specific functions while still getting the rest for free
?
-mike

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-07-03 18:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-03  8:14 making asm-generic/futex.h completely usable Mike Frysinger
2009-07-03 15:51 ` Arnd Bergmann
2009-07-03 18:12   ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox