On Tue, Apr 17, 2012 at 03:00:10PM +0300, Avi Kivity wrote:
> On 04/17/2012 02:05 PM, Gleb Natapov wrote:
> > On Tue, Apr 17, 2012 at 01:42:31PM +0300, Avi Kivity wrote:
> > > On 04/17/2012 01:31 PM, Gleb Natapov wrote:
> > > > On Tue, Apr 17, 2012 at 01:29:04PM +0300, Avi Kivity wrote:
> > > > > On 04/17/2012 01:26 PM, Gleb Natapov wrote:
> > > > > > > It isn't, since you need to send an IPI.
> > > > > > >
> > > > > > That is exactly what I forget whether you can send IPI from there :)
> > > > > > Anyway this is another reason.
> > > > > >
> > > > >
> > > > > Actually I was wrong. You can't smp_call_function_single() from irq
> > > > > context (deadlocks if two vcpus do that), but we send a reschedule
> > > > > interrupt. So it should work.
> > > > >
> > > > Ah, good point. So if we'll use irqsave versions of spinlocks we can
> > > > drop kthread?
> > >
> > > Do we want 254 IPIs to be issued from irq context? Could be slow.
> > >
> > Where this number is coming from?
>
> KVM_MAX_VCPUS.
>
Ah, so you are worried about malicious guest configuring pit to
broadcast to all its vcpus.
> > > We can make the unicast case run from irq context and defer the
> > > multicast to a thread.
> > >
> > We do not know if gsi is multicasted in the pit code though.
> >
>
> We don't have to do it in the pit code. The .set method can decide
> whether it wants a direct path or go through a thread (which thread?
> passed as a parameter?)
>
Agree.
--
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