On Thu, 7 Jan 2010, Michael S. Tsirkin wrote:

> > On top of creating an interface which requires a lock, which noone can get 
> > from the interface itself, since it's not exposed.
> 
> I think here's how KVM gets it: the way it does is by calling poll with
> our own poll table, then in poll_queue_proc we get wait queue pointer,
> and we use the wait queue. Lock is in there :)

Yes, I know you are called locked, but it does not lead to a clean 
interface.



> > I could split the two and have a locked one, and an unlocked one, but that 
> > looks shitty too (for the above reason).
> 
> Yes, this will work. Thanks!

This is a lot more complex than I thought. The wakeup code is already 
enumerating the list, and doing a wakeup might trigger a secondary 
enumeration/recursion.
Do you really need to "consume" the value from IRQ context, or you can 
simply "peek" the value, and flush it later?



- Davide


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to