[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: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH qom-cpu for-1.5] cpus: Fix pausing TCG CPUs while in vCPU thread |
Date: |
Thu, 02 May 2013 12:14:35 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
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,
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux