]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
linux-user: open_self_stat: Implement num_threads
authorFabio D'Urso <fdurso@google.com>
Wed, 19 Jun 2024 19:41:09 +0000 (21:41 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 29 Jul 2024 21:59:23 +0000 (07:59 +1000)
The num_threads field reports the total number of threads in the
process. In QEMU, this is equal to the number of CPU instances.

Signed-off-by: Fabio D'Urso <fdurso@google.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20240619194109.248066-1-fdurso@google.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/syscall.c

index b8c278b91d543e83733b4e2edca2207ae50ff331..9d5415674db53b85dcb50d7cafecb497a05d21a2 100644 (file)
@@ -8168,6 +8168,16 @@ static int open_self_stat(CPUArchState *cpu_env, int fd)
         } else if (i == 3) {
             /* ppid */
             g_string_printf(buf, FMT_pid " ", getppid());
+        } else if (i == 19) {
+            /* num_threads */
+            int cpus = 0;
+            WITH_RCU_READ_LOCK_GUARD() {
+                CPUState *cpu_iter;
+                CPU_FOREACH(cpu_iter) {
+                    cpus++;
+                }
+            }
+            g_string_printf(buf, "%d ", cpus);
         } else if (i == 21) {
             /* starttime */
             g_string_printf(buf, "%" PRIu64 " ", ts->start_boottime);