diff options
| -rw-r--r-- | sys-utils/lscpu-arm.c | 2 | ||||
| -rw-r--r-- | sys-utils/lscpu.c | 9 | ||||
| -rw-r--r-- | sys-utils/lscpu.h | 2 |
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 */ |
