qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 24/58] PPC: E500: Add PV spinning code


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 24/58] PPC: E500: Add PV spinning code
Date: Sat, 17 Sep 2011 17:40:49 +0000

On Sat, Sep 17, 2011 at 5:15 PM, Alexander Graf <address@hidden> wrote:
>
> Am 17.09.2011 um 18:58 schrieb Blue Swirl <address@hidden>:
>
>> On Wed, Sep 14, 2011 at 8:42 AM, Alexander Graf <address@hidden> wrote:
>>> CPUs that are not the boot CPU need to run in spinning code to check if they
>>> should run off to execute and if so where to jump to. This usually happens
>>> by leaving secondary CPUs looping and checking if some variable in memory
>>> changed.
>>>
>>> In an environment like Qemu however we can be more clever. We can just 
>>> export
>>> the spin table the primary CPU modifies as MMIO region that would event 
>>> based
>>> wake up the respective secondary CPUs. That saves us quite some cycles while
>>> the secondary CPUs are not up yet.
>>>
>>> So this patch adds a PV device that simply exports the spinning table into 
>>> the
>>> guest and thus allows the primary CPU to wake up secondary ones.
>>
>> On Sparc32, there is no need for a PV device. The CPU is woken up from
>> halted state with an IPI. Maybe you could use this approach?
>
> The way it's done here is defined by u-boot and now also nailed down in the 
> ePAPR architecture spec. While alternatives might be more appealing, this is 
> how guests work today :).

OK. I hoped that there were no implementations yet. The header (btw
missing) should point to the spec.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]