aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasayoshi Mizuma <m.mizuma@jp.fujitsu.com>2020-11-20 00:06:09 -0500
committerKarel Zak <kzak@redhat.com>2020-11-20 09:17:12 +0100
commitf42f105b07b25097f6c2eae3d6a3ccbc452cda5e (patch)
tree13e66e5aa2ddaa2669fd84dfe466353e24d7d263
parent788f90d69a43198e648442399967542e98e44d11 (diff)
downloadutil-linux-f42f105b07b25097f6c2eae3d6a3ccbc452cda5e.tar.gz
lscpu: show the number of physical socket on aarch64 machine without ACPI PPTT
Show the number of the number of physical socket even if the sysfs doesn't have the physical socket information. Note, lscpu shows the number of physical socket as 'Socket(s):' only if root user runs it because accessing the DMI table requires root privilege. Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
-rw-r--r--sys-utils/lscpu-arm.c2
-rw-r--r--sys-utils/lscpu.c9
-rw-r--r--sys-utils/lscpu.h2
3 files changed, 11 insertions, 2 deletions
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
index 9391cca549..9e259673c8 100644
--- a/sys-utils/lscpu-arm.c
+++ b/sys-utils/lscpu-arm.c
@@ -360,6 +360,8 @@ static void arm_decode(struct lscpu_cxt *cxt, struct lscpu_cputype *ct)
arm_ids_decode(ct);
arm_rXpY_decode(ct);
+ if (cxt->is_cluster)
+ ct->nr_socket_on_cluster = get_number_of_physical_sockets_from_dmi();
}
static int lscpu_is_cluster_arm(struct lscpu_cxt *cxt)
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index 65016f08b7..729e3e1dc3 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -864,10 +864,15 @@ print_summary_cputype(struct lscpu_cxt *cxt,
} else
add_summary_n(tb, sec, _("Book(s):"), ct->nbooks_per_drawer ?: ct->nbooks);
} else {
- if (cxt->is_cluster)
+ if (cxt->is_cluster) {
+ if (ct->nr_socket_on_cluster > 0)
+ add_summary_n(tb, sec, _("Socket(s):"), ct->nr_socket_on_cluster);
+ else
+ add_summary_s(tb, sec, _("Socket(s):"), "-");
+
add_summary_n(tb, sec, _("Cluster(s):"),
ct->nsockets_per_book ?: ct->nsockets);
- else
+ } else
add_summary_n(tb, sec, _("Socket(s):"),
ct->nsockets_per_book ?: ct->nsockets);
}
diff --git a/sys-utils/lscpu.h b/sys-utils/lscpu.h
index 74c647e3a8..623c07998d 100644
--- a/sys-utils/lscpu.h
+++ b/sys-utils/lscpu.h
@@ -101,6 +101,8 @@ struct lscpu_cputype {
has_configured : 1,
has_polarization : 1,
has_addresses : 1;
+
+ size_t nr_socket_on_cluster; /* the number of sockets if the is_cluster is 1 */
};
/* dispatching modes */