[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 02/11] exec: Remove cpu from cpus list during
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH v6 02/11] exec: Remove cpu from cpus list during cpu_exec_exit() |
Date: |
Tue, 12 Jan 2016 15:06:53 +1100 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Fri, Jan 08, 2016 at 12:25:10PM +0530, Bharata B Rao wrote:
> CPUState *cpu gets added to the cpus list during cpu_exec_init(). It
> should be removed from cpu_exec_exit().
>
> cpu_exec_init() is called from generic CPU::instance_finalize and some
> archs like PowerPC call it from CPU unrealizefn. So ensure that we
> dequeue the cpu only once.
>
> Now -1 value for cpu->cpu_index indicates that we have already dequeued
> the cpu for CONFIG_USER_ONLY case also.
>
> Signed-off-by: Bharata B Rao <address@hidden>
Reviewed-by: David Gibson <address@hidden>
> ---
> exec.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/exec.c b/exec.c
> index 8718a75..25c0f36 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -578,6 +578,7 @@ void cpu_exec_exit(CPUState *cpu)
> return;
> }
>
> + QTAILQ_REMOVE(&cpus, cpu, node);
> bitmap_clear(cpu_index_map, cpu->cpu_index, 1);
> cpu->cpu_index = -1;
> }
> @@ -596,6 +597,15 @@ static int cpu_get_free_index(Error **errp)
>
> void cpu_exec_exit(CPUState *cpu)
> {
> + cpu_list_lock();
> + if (cpu->cpu_index == -1) {
> + cpu_list_unlock();
> + return;
> + }
> +
> + QTAILQ_REMOVE(&cpus, cpu, node);
> + cpu->cpu_index = -1;
> + cpu_list_unlock();
> }
> #endif
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- Re: [Qemu-devel] [PATCH v6 08/11] target-ppc: Introduce PowerPC specific CPU core device, (continued)
- [Qemu-devel] [PATCH v6 03/11] exec: Do vmstate unregistration from cpu_exec_exit(), Bharata B Rao, 2016/01/08
- [Qemu-devel] [PATCH v6 05/11] cpu: Reclaim vCPU objects, Bharata B Rao, 2016/01/08
- [Qemu-devel] [PATCH v6 04/11] cpu: Don't realize CPU from cpu_generic_init(), Bharata B Rao, 2016/01/08
- [Qemu-devel] [PATCH v6 02/11] exec: Remove cpu from cpus list during cpu_exec_exit(), Bharata B Rao, 2016/01/08
- Re: [Qemu-devel] [PATCH v6 02/11] exec: Remove cpu from cpus list during cpu_exec_exit(),
David Gibson <=
- [Qemu-devel] [PATCH v6 01/11] machine: Don't allow CPU toplogies with partially filled cores, Bharata B Rao, 2016/01/08
- [Qemu-devel] [PATCH v6 10/11] spapr: CPU hotplug support, Bharata B Rao, 2016/01/08