diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/devices.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/devices.c b/modules/devices.c index d6f30aef..73c18a90 100644 --- a/modules/devices.c +++ b/modules/devices.c @@ -177,9 +177,14 @@ gchar *processor_describe_default(GSList * processors) packs_fmt = ngettext("%d physical processor", "%d physical processors", packs); cores_fmt = ngettext("%d core", "%d cores", cores); threads_fmt = ngettext("%d thread", "%d threads", threads); - nodes_fmt = ngettext("%d NUMA node", "%d NUMA nodes", nodes); - full_fmt = g_strdup_printf(_(/*/NP procs; NC cores; NN nodes; NT threads*/ "%s; %s, %s; %s"), packs_fmt, cores_fmt, nodes_fmt, threads_fmt); - ret = g_strdup_printf(full_fmt, packs, cores, nodes, threads); + if (nodes > 1) { + nodes_fmt = ngettext("%d NUMA node", "%d NUMA nodes", nodes); + full_fmt = g_strdup_printf(_(/*/NP procs; NC cores across NN nodes; NT threads*/ "%s; %s across %s; %s"), packs_fmt, cores_fmt, nodes_fmt, threads_fmt); + ret = g_strdup_printf(full_fmt, packs, cores * nodes, nodes, threads); + } else { + full_fmt = g_strdup_printf(_(/*/NP procs; NC cores; NT threads*/ "%s; %s; %s"), packs_fmt, cores_fmt, threads_fmt); + ret = g_strdup_printf(full_fmt, packs, cores, nodes, threads); + } g_free(full_fmt); return ret; } else { |