On Mon, Oct 12, 2009 at 11:40:59AM +0200, Avi Kivity wrote: > On 10/12/2009 11:38 AM, Gleb Natapov wrote: > > > >>irqfd can work from interrupt context, so if we only use the > >>workqueue for the many-vcpu cases, we should be fine. > >> > >>I think we can do it cleanly, too: in ioapic code, if we're talking > >>to one vcpu, wake it immediately; otherwise schedule work to > >>continue in process context. This was the common code can always > >>work in interrupt context and not worry about the work queue. > >> > >Even if we are talking to one cpu locking is still needed, so unless we > >make it spinlock we can't inject from irq context. If we change mutex to > >spinlock what is the point of work queue? > > Not to loop over 4096 vcpus with interrupts disabled, triggered by > guest action. > But in a work queue you'll do this anyway. You can't access ioapic without the lock. -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html