Hi

On Fri, Sep 30, 2022 at 5:35 PM Richard Henderson <
richard.hender...@linaro.org> wrote:

> On 9/30/22 01:08, Marc-André Lureau wrote:
> > Hi
> >
> > On Thu, Sep 29, 2022 at 9:53 PM Richard Henderson <
> richard.hender...@linaro.org
> > <mailto:richard.hender...@linaro.org>> wrote:
> >
> >     On 9/29/22 06:41, marcandre.lur...@redhat.com <mailto:
> marcandre.lur...@redhat.com> wrote:
> >      >   void qemu_thread_naming(bool enable)
> >      >   {
> >      >       /* But note we don't actually name them on Windows yet */
> >      >       name_threads = enable;
> >      >
> >      > -    fprintf(stderr, "qemu: thread naming not supported on this
> host\n");
> >      > +    if (enable && !load_set_thread_description()) {
> >      > +        fprintf(stderr, "qemu: thread naming not supported on
> this host\n");
> >      > +    }
> >      >   }
> >
> >     Comment is out of date, and I think it would be better to *not* set
> name_threads if not
> >     supported, rather than...
> >
> >
> > Comment removed.
> >
> >
> >
> >      > +static bool
> >      > +set_thread_description(HANDLE h, const char *name)
> >      > +{
> >      > +  HRESULT hr;
> >      > +  g_autofree wchar_t *namew = NULL;
> >      > +
> >      > +  if (!load_set_thread_description() || !name) {
> >      > +      return false;
> >      > +  }
> >
> >     ... have to re-query load_set_thread_description later.
> >
> >
> > The load_set_thread_description() function is actually a "one-time"
> function, it doesn't
> > re-load.
>
> You're calling it again.  That has some cost in the mutex/spinlock that's
> behind that
> one-time operation, when you're already making the call to
> set_thread_description conditional.
>

That seems pretty marginal given the frequencies of this call, when we are
creating threads.

So you suggest simply setting "name_threads" to false when loading the
function failed?


>
> > Right, maybe it should warn if it failed to set the name?
>
> After you've already printed an error in qemu_thread_naming()?  Doesn't
> seem useful.  Or
> did you mean in the case we think it should work, but didn't?
>

During qemu_thread_create(), if set_thread_description() failed.

-- 
Marc-André Lureau

Reply via email to