On Mon, 21 Sep 2015 12:04:16 -0500
Felipe Balbi <ba...@ti.com> wrote:


> no, no. you're missing the point here. The problem is that when RT
> is applied, spinlocks get reimplemented as RT-aware mutexes which
> works pretty well as long as you don't install your own top and bottom
> halves. If you do, RT patch can't force your handler to run as a thread
> and you're left with, essentially, a mutex for synchronization in
> hardirq context.
> 
> So the question is really for Steve, what should we do here ? Use a
> raw_spinlock ? I'd like to avoid that if possible. If we have another
> option, I'm all ears.
> 

I may be missing something here. Yes, in RT spinlocks become rtmutexes
and can sleep. But in RT all interrupts become threads. With the slight
exception that if you declare your interrupt handle as a thread, then
you do have a top half handler. This top half should not be grabbing
any spin locks, and should simply disable any more interrupts from
happening on the device until the thread handler can run.

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to