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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html