[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qom-cpu for-1.5] cpus: Fix pausing TCG CPUs whil
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH qom-cpu for-1.5] cpus: Fix pausing TCG CPUs while in vCPU thread |
Date: |
Thu, 02 May 2013 13:47:44 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 |
Am 02.05.2013 12:14, schrieb Jan Kiszka:
> On 2013-05-02 11:52, Andreas Färber wrote:
>> Due to a preceding while loop, no CPU would've been put into stopped
>> state. Reinitialize the variable.
>> This fixes commit d798e97456658ea7605303b7c69b04ec7df95c10 (Allow to use
>> pause_all_vcpus from VCPU context) for non-KVM case.
>>
>> While at it, change a 0 to false, amending commit
>> 4fdeee7cd4c8f90ef765537b9346a195d9483ab5 (cpu: Move stop field to
>> CPUState).
>>
>> Signed-off-by: Andreas Färber <address@hidden>
>> ---
>> For 1.5 I'm going for the least invasive change here.
>> On qom-cpu-10 I'm preparing to replace each CPU loop with
>> qemu_for_each_cpu().
>>
>> cpus.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/cpus.c b/cpus.c
>> index a2d92c7..c232265 100644
>> --- a/cpus.c
>> +++ b/cpus.c
>> @@ -974,9 +974,10 @@ void pause_all_vcpus(void)
>> if (qemu_in_vcpu_thread()) {
>> cpu_stop_current();
>> if (!kvm_enabled()) {
>> + penv = first_cpu;
>> while (penv) {
>> CPUState *pcpu = ENV_GET_CPU(penv);
>> - pcpu->stop = 0;
>> + pcpu->stop = false;
>> pcpu->stopped = true;
>> penv = penv->next_cpu;
>> }
>>
>
> Reviewed-by: Jan Kiszka <address@hidden>
Thanks, applied to qom-cpu:
https://github.com/afaerber/qemu-cpu/commits/qom-cpu
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg