From: "Andreas Färber" <afaerber@suse.de>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
aliguori@us.ibm.com, qemu-devel@nongnu.org,
Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 10/11] cpu: do not use object_delete
Date: Tue, 18 Dec 2012 22:07:55 +0100 [thread overview]
Message-ID: <50D0DB2B.1030304@suse.de> (raw)
In-Reply-To: <1354740282-20679-11-git-send-email-pbonzini@redhat.com>
Am 05.12.2012 21:44, schrieb Paolo Bonzini:
> CPUs are never added to the composition tree, so delete is achieved
> simply by removing the last references to them.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Note however that x86 is undergoing major changes and other targets are
growing needs to ... "deconstruct" :) CPUs, too. So this is very likely
to conflict. As I understand it, I can't just unparent a CPU today as it
would not get freed?
Andreas
> ---
> linux-user/syscall.c | 2 +-
> target-i386/helper.c | 4 ++--
> target-sparc/cpu.c | 2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index e4291ed..64b2610 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -5188,7 +5188,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
> NULL, NULL, 0);
> }
> thread_env = NULL;
> - object_delete(OBJECT(ENV_GET_CPU(cpu_env)));
> + object_unref(OBJECT(ENV_GET_CPU(cpu_env)));
> g_free(ts);
> pthread_exit(NULL);
> }
> diff --git a/target-i386/helper.c b/target-i386/helper.c
> index bf206cf..d628352 100644
> --- a/target-i386/helper.c
> +++ b/target-i386/helper.c
> @@ -1251,14 +1251,14 @@ X86CPU *cpu_x86_init(const char *cpu_model)
> env->cpu_model_str = cpu_model;
>
> if (cpu_x86_register(cpu, cpu_model) < 0) {
> - object_delete(OBJECT(cpu));
> + object_unref(OBJECT(cpu));
> return NULL;
> }
>
> x86_cpu_realize(OBJECT(cpu), &error);
> if (error) {
> error_free(error);
> - object_delete(OBJECT(cpu));
> + object_unref(OBJECT(cpu));
> return NULL;
> }
> return cpu;
> diff --git a/target-sparc/cpu.c b/target-sparc/cpu.c
> index 882d306..b38641b 100644
> --- a/target-sparc/cpu.c
> +++ b/target-sparc/cpu.c
> @@ -119,7 +119,7 @@ SPARCCPU *cpu_sparc_init(const char *cpu_model)
> }
>
> if (cpu_sparc_register(env, cpu_model) < 0) {
> - object_delete(OBJECT(cpu));
> + object_unref(OBJECT(cpu));
> return NULL;
> }
> qemu_init_vcpu(env);
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2012-12-18 21:08 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-05 20:44 [Qemu-devel] [PATCH 00/11] qdev: correct reference counting Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 01/11] qdev: export and use qbus_init Paolo Bonzini
2012-12-18 21:18 ` Andreas Färber
2012-12-05 20:44 ` [Qemu-devel] [PATCH 02/11] qdev: use object_new, not g_malloc to create buses Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 03/11] qom: preserve object while unparenting it Paolo Bonzini
2012-12-18 20:43 ` Andreas Färber
2012-12-05 20:44 ` [Qemu-devel] [PATCH 04/11] qdev: add reference count to a device for the BusChild Paolo Bonzini
2013-01-07 20:26 ` Anthony Liguori
2013-01-09 13:23 ` Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 05/11] qdev: move deletion of children from finalize to unparent Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 06/11] qdev: move unrealization of devices " Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 07/11] qdev: add reference for the bus while it is referred to by the DeviceState Paolo Bonzini
2013-01-07 20:29 ` Anthony Liguori
2013-01-09 13:25 ` Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 08/11] qdev: inline object_delete into qbus_free/qdev_free Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 09/11] qdev: drop extra references at creation time Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 10/11] cpu: do not use object_delete Paolo Bonzini
2012-12-18 21:07 ` Andreas Färber [this message]
2012-12-18 21:19 ` Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 11/11] qom: remove object_delete Paolo Bonzini
2012-12-17 13:07 ` [Qemu-devel] [PATCH 00/11] qdev: correct reference counting Paolo Bonzini
2013-01-07 20:31 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50D0DB2B.1030304@suse.de \
--to=afaerber@suse.de \
--cc=aliguori@us.ibm.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.