On Monday 26 February 2007 16:33, Christoph Hellwig wrote: > On Mon, Feb 26, 2007 at 04:13:38PM -0800, [EMAIL PROTECTED] wrote: > > Introduce down_interruptible_timeout() using timers to make the waiter > > stop waiting by simulating a signal (see first patch for more > > details). As well introduce asm-generic/semaphore.h and make other > > architectures use it too. > > What do you want this for? Do you really need a full counting semaphore > or do you actually want a mutex?
Yeah, I need semaphore. This is a hw register that says when the hw is ready to accept a new command. Code that wants to send commands has to down the semaphore and then send it. When hw is ready to get a new command, it sends and IRQ and the IRQ up()s the semaphore. Now, we don't want to hang on that down() forever if the hw spaces out. If we get a timeout, we can try recovery actions (like resetting it, for sake of being polite). I use this in the WHCI Ultra Wide Band radio controller code (coming soon to a hw store near you). Cristoph, I still wonder how the hell you do it to spot every message that comes into lkml -- I bet you have a cluster of employees using your name doing it... :) -- Inaky - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/