Date: Wed, Jul 21, 2021 10:00 PM
To: "Marc-André Lureau"<marcandre.lureau@gmail.com>;
Cc: "zhuguanghong"<zhuguanghong@uniontech.com>; "Paolo Bonzini"<pbonzini@redhat.com>; "Eduardo Habkost"<ehabkost@redhat.com>; "QEMU"<qemu-devel@nongnu.org>;
Subject: Re: [PATCH] qom/object.c 'if (type_table == NULL)' statement is redundant , delete it.
On Wed, Jul 21, 2021 at 05:55:44PM +0400, Marc-André Lureau wrote:
> Hi
>
> On Wed, Jul 21, 2021 at 5:22 PM zhuguanghong <zhuguanghong@uniontech.com>
> wrote:
>
> > Signed-off-by: zhuguanghong <zhuguanghong@uniontech.com>
> > ---
> > qom/object.c | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/qom/object.c b/qom/object.c
> > index 6a01d56546..c8f5481afe 100644
> > --- a/qom/object.c
> > +++ b/qom/object.c
> > @@ -78,9 +78,7 @@ static GHashTable *type_table_get(void)
> > {
> > static GHashTable *type_table;
> >
> > - if (type_table == NULL) {
> > - type_table = g_hash_table_new(g_str_hash, g_str_equal);
> > - }
> > + type_table = g_hash_table_new(g_str_hash, g_str_equal);
> >
> >
> nack.It's not redundant, it does a one-time initialization.
>
> We may want to replace it with a more explicit and thread-safe version
> though:
> https://developer.gnome.org/glib/stable/glib-Threads.html#g-once-init-enter
I would have thought QOM usage is so widespread in QEMU that we'll
trigger initialization of this hash tble very early in startup
while we're still single threaded.
That said there's not really any harm in using g_once
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|