Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-04 Thread Paolo Bonzini
Il 02/07/2013 18:36, Anthony Liguori ha scritto: > Paolo Bonzini writes: > >> Il 02/07/2013 16:47, Anthony Liguori ha scritto: >>> Jan Kiszka writes: >>> Objects can soon be referenced/dereference outside the BQL. So we need to use atomics in object_ref/unref. Based on patch

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-04 Thread liu ping fan
On Thu, Jul 4, 2013 at 1:43 PM, Andreas Färber wrote: > Am 04.07.2013 06:46, schrieb liu ping fan: >> On Thu, Jul 4, 2013 at 12:36 AM, Andreas Färber wrote: >>> Am 03.07.2013 03:23, schrieb liu ping fan: [...] >>> It would be nice to get CC'ed on such proposals. :) >>> >> I will CC you for qom re

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-03 Thread Andreas Färber
Am 04.07.2013 06:46, schrieb liu ping fan: > On Thu, Jul 4, 2013 at 12:36 AM, Andreas Färber wrote: >> Am 03.07.2013 03:23, schrieb liu ping fan: >>> On Wed, Jul 3, 2013 at 12:36 AM, Anthony Liguori >>> wrote: Paolo Bonzini writes: > I'm not a big fan of kref (it seems _too_ thin

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-03 Thread liu ping fan
On Thu, Jul 4, 2013 at 12:36 AM, Andreas Färber wrote: > Am 03.07.2013 03:23, schrieb liu ping fan: >> On Wed, Jul 3, 2013 at 12:36 AM, Anthony Liguori >> wrote: >>> Paolo Bonzini writes: >>> Il 02/07/2013 16:47, Anthony Liguori ha scritto: > Jan Kiszka writes: > >> Objects ca

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-03 Thread Andreas Färber
Am 03.07.2013 03:23, schrieb liu ping fan: > On Wed, Jul 3, 2013 at 12:36 AM, Anthony Liguori > wrote: >> Paolo Bonzini writes: >> >>> Il 02/07/2013 16:47, Anthony Liguori ha scritto: Jan Kiszka writes: > Objects can soon be referenced/dereference outside the BQL. So we need >

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread liu ping fan
On Wed, Jul 3, 2013 at 12:36 AM, Anthony Liguori wrote: > Paolo Bonzini writes: > >> Il 02/07/2013 16:47, Anthony Liguori ha scritto: >>> Jan Kiszka writes: >>> Objects can soon be referenced/dereference outside the BQL. So we need to use atomics in object_ref/unref. Based on

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Anthony Liguori
Paolo Bonzini writes: > Il 02/07/2013 16:47, Anthony Liguori ha scritto: >> Jan Kiszka writes: >> >>> Objects can soon be referenced/dereference outside the BQL. So we need >>> to use atomics in object_ref/unref. >>> >>> Based on patch by Liu Ping Fan. >>> >>> Signed-off-by: Jan Kiszka >>> ---

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Paolo Bonzini
Il 02/07/2013 16:47, Anthony Liguori ha scritto: > Jan Kiszka writes: > >> Objects can soon be referenced/dereference outside the BQL. So we need >> to use atomics in object_ref/unref. >> >> Based on patch by Liu Ping Fan. >> >> Signed-off-by: Jan Kiszka >> --- >> qom/object.c |5 ++--- >>

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Anthony Liguori
Jan Kiszka writes: > Objects can soon be referenced/dereference outside the BQL. So we need > to use atomics in object_ref/unref. > > Based on patch by Liu Ping Fan. > > Signed-off-by: Jan Kiszka > --- > qom/object.c |5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --gi

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Paolo Bonzini
Il 02/07/2013 13:52, Jan Kiszka ha scritto: >>> But then atomic_dec_and_test or so. Letting the inc/dec return some >>> >> value leaves room for interpretations (value of before or after the >>> >> modification?). >> > >> > In qemu, I made all atomic_* functions return the old value. This is >> >

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Jan Kiszka
On 2013-07-02 13:49, Paolo Bonzini wrote: > Il 02/07/2013 13:44, Jan Kiszka ha scritto: >> On 2013-07-02 13:28, Paolo Bonzini wrote: >>> Il 02/07/2013 13:15, Andreas Färber ha scritto: >> @@ -683,16 +683,15 @@ GSList *object_class_get_list(const char >> *implements_type, >> >> v

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Paolo Bonzini
Il 02/07/2013 13:44, Jan Kiszka ha scritto: > On 2013-07-02 13:28, Paolo Bonzini wrote: >> Il 02/07/2013 13:15, Andreas Färber ha scritto: > @@ -683,16 +683,15 @@ GSList *object_class_get_list(const char > *implements_type, > > void object_ref(Object *obj) > { > -ob

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Jan Kiszka
On 2013-07-02 13:28, Paolo Bonzini wrote: > Il 02/07/2013 13:15, Andreas Färber ha scritto: @@ -683,16 +683,15 @@ GSList *object_class_get_list(const char *implements_type, void object_ref(Object *obj) { -obj->ref++; + __sync_fetch_and_add(&obj->ref,

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Andreas Färber
Am 02.07.2013 11:36, schrieb Jan Kiszka: > Objects can soon be referenced/dereference outside the BQL. So we need > to use atomics in object_ref/unref. > > Based on patch by Liu Ping Fan. > > Signed-off-by: Jan Kiszka > --- > qom/object.c |5 ++--- > 1 files changed, 2 insertions(+), 3 dele

Re: [Qemu-devel] [PATCH] qom: Use atomics for object refcounting

2013-07-02 Thread Paolo Bonzini
Il 02/07/2013 13:15, Andreas Färber ha scritto: >> > @@ -683,16 +683,15 @@ GSList *object_class_get_list(const char >> > *implements_type, >> > >> > void object_ref(Object *obj) >> > { >> > -obj->ref++; >> > + __sync_fetch_and_add(&obj->ref, 1); > How widespread are these in GCC/clang?