[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] use tasklet to handle init/sipi?

>>> On 25.03.13 at 13:16, "Zhang, Yang Z" <yang.z.zhang@xxxxxxxxx> wrote:
> Keir Fraser wrote on 2013-03-25:
>> INIT-handling path takes the domain lock. If two vcpus in same guest try to
>> INIT each other, one will take the lock and then try to vcpu_pause() the
>> other. But this will spin forever while that other vcpu itself waits to take
>> the domain_lock.
>> This seemed to me a fairly fundamental problem of vcpus directly resetting
>> each other. Hence the deferral to tasklet context.
> I see your point. But seems two vcpus call vcpu_pause() simultaneously 
> without hold any lock also will cause the deadlock, ...

But guests aren't permitted uncontrolled access to vcpu_pause().

> Also, should we care about such malicious guest? If the guest really did 
> such thing, it just block himself. It just eat the cpu time which belong to 
> himself. A malicious guest can run a non-stop loop to do same thing.

It's one thing for a guest to loop in guest context, and another
for it to cause an unbounded loop in hypervisor context (which
is not preemptible).


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.