diff mbox series

util: qemu_get_thread_id for OpenBSD

Message ID CA+XhMqxD6gQDBaj8tX0CMEj3si7qYKsM8u1km47e_-U7MC37Pg@mail.gmail.com (mailing list archive)
State New, archived
Headers show
Series util: qemu_get_thread_id for OpenBSD | expand

Commit Message

David CARLIER July 14, 2020, 9:26 p.m. UTC
From 9c7f54c67d40fae0174ba795fbaad829cd59c264 Mon Sep 17 00:00:00 2001
From: David Carlier <devnexen@gmail.com>
Date: Tue, 14 Jul 2020 23:23:55 +0100
Subject: [PATCH] util: qemu_get_thread_id implementation for OpenBSD.

ussage of getthrid syscall.

Signed-off-by: David Carlier <devnexen@gmail.com>
---
 util/oslib-posix.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Thomas Huth July 15, 2020, 4:54 a.m. UTC | #1
On 14/07/2020 23.26, David CARLIER wrote:
> From 9c7f54c67d40fae0174ba795fbaad829cd59c264 Mon Sep 17 00:00:00 2001
> From: David Carlier <devnexen@gmail.com>
> Date: Tue, 14 Jul 2020 23:23:55 +0100
> Subject: [PATCH] util: qemu_get_thread_id implementation for OpenBSD.
> 
> ussage of getthrid syscall.
> 
> Signed-off-by: David Carlier <devnexen@gmail.com>
> ---
>  util/oslib-posix.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/util/oslib-posix.c b/util/oslib-posix.c
> index 72907d4d7f..b4f7de83c8 100644
> --- a/util/oslib-posix.c
> +++ b/util/oslib-posix.c
> @@ -100,6 +100,8 @@ int qemu_get_thread_id(void)
>      return (int)tid;
>  #elif defined(__NetBSD__)
>      return _lwp_self();
> +#elif defined(__OpenBSD__)
> +    return getthrid();
>  #else
>      return getpid();
>  #endif
> 

 Brad,

since you're listed as OpenBSD maintainer, could you please review above
patch?

 Thanks,
  Thomas
Brad Smith July 15, 2020, 7:39 a.m. UTC | #2
On 7/15/2020 12:54 AM, Thomas Huth wrote:
> On 14/07/2020 23.26, David CARLIER wrote:
>>  From 9c7f54c67d40fae0174ba795fbaad829cd59c264 Mon Sep 17 00:00:00 2001
>> From: David Carlier <devnexen@gmail.com>
>> Date: Tue, 14 Jul 2020 23:23:55 +0100
>> Subject: [PATCH] util: qemu_get_thread_id implementation for OpenBSD.
>>
>> ussage of getthrid syscall.
>>
>> Signed-off-by: David Carlier <devnexen@gmail.com>
>> ---
>>   util/oslib-posix.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/util/oslib-posix.c b/util/oslib-posix.c
>> index 72907d4d7f..b4f7de83c8 100644
>> --- a/util/oslib-posix.c
>> +++ b/util/oslib-posix.c
>> @@ -100,6 +100,8 @@ int qemu_get_thread_id(void)
>>       return (int)tid;
>>   #elif defined(__NetBSD__)
>>       return _lwp_self();
>> +#elif defined(__OpenBSD__)
>> +    return getthrid();
>>   #else
>>       return getpid();
>>   #endif
>>
>   Brad,
>
> since you're listed as OpenBSD maintainer, could you please review above
> patch?

Thank you David and Thomas.

Reviewed-by: Brad Smith <brad@comstyle.com>
Peter Maydell July 16, 2020, 2:39 p.m. UTC | #3
On Wed, 15 Jul 2020 at 08:41, Brad Smith <brad@comstyle.com> wrote:
>
> On 7/15/2020 12:54 AM, Thomas Huth wrote:
> > On 14/07/2020 23.26, David CARLIER wrote:
> >>  From 9c7f54c67d40fae0174ba795fbaad829cd59c264 Mon Sep 17 00:00:00 2001
> >> From: David Carlier <devnexen@gmail.com>
> >> Date: Tue, 14 Jul 2020 23:23:55 +0100
> >> Subject: [PATCH] util: qemu_get_thread_id implementation for OpenBSD.
> >>
> >> ussage of getthrid syscall.
> >>
> >> Signed-off-by: David Carlier <devnexen@gmail.com>
> >> ---
> >>   util/oslib-posix.c | 2 ++
> >>   1 file changed, 2 insertions(+)
> >>
> >> diff --git a/util/oslib-posix.c b/util/oslib-posix.c
> >> index 72907d4d7f..b4f7de83c8 100644
> >> --- a/util/oslib-posix.c
> >> +++ b/util/oslib-posix.c
> >> @@ -100,6 +100,8 @@ int qemu_get_thread_id(void)
> >>       return (int)tid;
> >>   #elif defined(__NetBSD__)
> >>       return _lwp_self();
> >> +#elif defined(__OpenBSD__)
> >> +    return getthrid();
> >>   #else
> >>       return getpid();
> >>   #endif
> >>
> >   Brad,
> >
> > since you're listed as OpenBSD maintainer, could you please review above
> > patch?
>
> Thank you David and Thomas.
>
> Reviewed-by: Brad Smith <brad@comstyle.com>

Thanks for the review. Since this is a one-liner I'll take it into
the tree via target-arm.next just for convenience.

Side note: the only things we use this value for are:
 (1) it appears in the output of the QMP monitor's query-cpus and
query-iothreads commands, so that a management layer app can
use whatever the host OS provides for setting host CPU
affinity to tie a particular guest vCPU thread to a host CPU.
 (2) the log tracing backend uses it in the output just as a
way to allow tracing from different threads to be distinguished

We should really write a doc comment explaining that. Maybe
I'll put a patch together.

thanks
-- PMM
diff mbox series

Patch

diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index 72907d4d7f..b4f7de83c8 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -100,6 +100,8 @@  int qemu_get_thread_id(void)
     return (int)tid;
 #elif defined(__NetBSD__)
     return _lwp_self();
+#elif defined(__OpenBSD__)
+    return getthrid();
 #else
     return getpid();
 #endif