util-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] lscpu: Fix socket information on aarch64 machine
@ 2020-09-11 13:53 Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 1/4] lscpu: use cluster on aarch64 machine which doesn't have ACPI PPTT Masayoshi Mizuma
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-09-11 13:53 UTC (permalink / raw)
  To: util-linux; +Cc: Masayoshi Mizuma

lscpu may show the wrong number of physical sockets on aarch64 machine
as 'Socket(s)'.

That is because lscpu uses a sysfs entry (cpu/cpuX/topology/core_siblings) to
get the number of sockets. For aarch64, the sysfs entry is set from MPIDR_EL1
register if the machine doesn't have ACPI PPTT. According to ARM Architecture
Reference Manual, the register shows the topology as the affinity, but doesn't
show the physical socket information.

There're such aarch64 machines because ARM SBBR v1.0 and v1.1 don't require 
ACPI PPTT. SBBR v1.2 requires ACPI PPTT.

For the aarch64 machine, probably 'Cluster(s)' is good instead of 'Socket(s)'
according to linux/arch/arm64/kernel/topology.c:store_cpu_topology().

To get the number of sockets on the machine, SMBIOS Processor information (Type04)
is useful for lscpu because the SMBIOS information is a mandatory
feature for the aarch64 machine which is based on ARM SBBR v1.0 and newer.

With these patches, lscpu shows as following on the machine:

  For unprivileged user:
    $ lscpu 
    Architecture:                    aarch64
    ...
    Socket(s):                       -
    Cluster(s):                      4
    ...

  For root:
    # lscpu
    Architecture:                    aarch64
    ...
    Socket(s):                       1
    Cluster(s):                      4

Masayoshi Mizuma (4):
  lscpu: use cluster on aarch64 machine which doesn't have ACPI PPTT
  lscpu-dmi: split to parse dmi table
  lscpu: add helper to get physical sockets
  lscpu: show physical socket on aarch64 without ACPI PPTT

 sys-utils/lscpu-dmi.c | 90 +++++++++++++++++++++++++++++++++----------
 sys-utils/lscpu.1     |  3 ++
 sys-utils/lscpu.c     | 75 ++++++++++++++++++++++++++++++++----
 sys-utils/lscpu.h     |  1 +
 4 files changed, 142 insertions(+), 27 deletions(-)

-- 
2.27.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/4] lscpu: use cluster on aarch64 machine which doesn't have ACPI PPTT
  2020-09-11 13:53 [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Masayoshi Mizuma
@ 2020-09-11 13:53 ` Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 2/4] lscpu-dmi: split to parse dmi table Masayoshi Mizuma
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-09-11 13:53 UTC (permalink / raw)
  To: util-linux; +Cc: Masayoshi Mizuma, Masayoshi Mizuma

From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

lscpu may show the wrong number of sockets if the machine is aarch64 and
doesn't have ACPI PPTT.

That's because lscpu show the number of sockets by using a sysfs entry
(cpu/cpuX/topology/core_siblings). The sysfs entry is set by MPIDR_EL1
register if the machine doesn't have ACPI PPTT. MPIDR_EL1 doesn't show
the physical socket information directly. It shows the affinity level.

According to linux/arch/arm64/kernel/topology.c:store_cpu_topology(),
the top level of affinity is called as 'Cluster'.

Use Cluster instead of Socket on the machine which doesn't have ACPI PPTT.

Note, ARM SBBR v1.2 requires ACPI PPTT, so this patch is needed for the
machine which is based on SBBR v1.0 and v1.1.

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
---
 sys-utils/lscpu.1 |  3 +++
 sys-utils/lscpu.c | 69 ++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/sys-utils/lscpu.1 b/sys-utils/lscpu.1
index 1ef6ce021..928d39dee 100644
--- a/sys-utils/lscpu.1
+++ b/sys-utils/lscpu.1
@@ -52,6 +52,9 @@ The logical core number.  A core can contain several CPUs.
 .B SOCKET
 The logical socket number.  A socket can contain several cores.
 .TP
+.B CLUSTER
+The logical cluster number.  A cluster can contain several cores.
+.TP
 .B BOOK
 The logical book number.  A book can contain several sockets.
 .TP
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index ca085b665..8c823c170 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -68,6 +68,7 @@
 #define _PATH_SYS_HYP_FEATURES	"/sys/hypervisor/properties/features"
 #define _PATH_SYS_CPU		_PATH_SYS_SYSTEM "/cpu"
 #define _PATH_SYS_NODE		_PATH_SYS_SYSTEM "/node"
+#define _PATH_ACPI_PPTT		"/sys/firmware/acpi/tables/PPTT"
 
 /* Xen Domain feature flag used for /sys/hypervisor/properties/features */
 #define XENFEAT_supervisor_mode_kernel		3
@@ -155,6 +156,7 @@ enum {
 	COL_CPU_CPU,
 	COL_CPU_CORE,
 	COL_CPU_SOCKET,
+	COL_CPU_CLUSTER,
 	COL_CPU_NODE,
 	COL_CPU_BOOK,
 	COL_CPU_DRAWER,
@@ -196,6 +198,7 @@ static struct lscpu_coldesc coldescs_cpu[] =
 {
 	[COL_CPU_CPU]          = { "CPU", N_("logical CPU number"), SCOLS_FL_RIGHT, 1 },
 	[COL_CPU_CORE]         = { "CORE", N_("logical core number"), SCOLS_FL_RIGHT },
+	[COL_CPU_CLUSTER]      = { "CLUSTER", N_("logical cluster number"), SCOLS_FL_RIGHT },
 	[COL_CPU_SOCKET]       = { "SOCKET", N_("logical socket number"), SCOLS_FL_RIGHT },
 	[COL_CPU_NODE]         = { "NODE", N_("logical NUMA node number"), SCOLS_FL_RIGHT },
 	[COL_CPU_BOOK]         = { "BOOK", N_("logical book number"), SCOLS_FL_RIGHT },
@@ -224,6 +227,26 @@ static struct lscpu_coldesc coldescs_cache[] =
 	[COL_CACHE_COHERENCYSIZE] = { "COHERENCY-SIZE", N_("minimum amount of data in bytes transferred from memory to cache"), SCOLS_FL_RIGHT }
 };
 
+static int is_fallback_to_cluster(struct lscpu_desc *desc)
+{
+	char *arch;
+	struct stat st;
+	struct utsname utsbuf;
+
+	if (desc)
+		arch = desc->arch;
+	else {
+		if (uname(&utsbuf) == -1)
+			err(EXIT_FAILURE, _("error: uname failed"));
+		arch = utsbuf.machine;
+	}
+
+	if (!(strcmp(arch, "aarch64")) && (stat(_PATH_ACPI_PPTT, &st) < 0))
+		return 1;
+	else
+		return 0;
+}
+
 
 static int get_cache_full_size(struct lscpu_desc *desc, struct cpu_cache *ca, uint64_t *res);
 
@@ -231,12 +254,21 @@ static int
 cpu_column_name_to_id(const char *name, size_t namesz)
 {
 	size_t i;
+	int is_cluster = is_fallback_to_cluster(NULL);
 
 	for (i = 0; i < ARRAY_SIZE(coldescs_cpu); i++) {
 		const char *cn = coldescs_cpu[i].name;
 
-		if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+		if (!strncasecmp(name, cn, namesz) && !*(cn + namesz)) {
+			if ((!strncasecmp(cn, "cluster", namesz)) && (!is_cluster)) {
+				warnx(_("%s doesn't work on this machine. Use socket."), name);
+				return -1;
+			} else if ((!strncasecmp(cn, "socket", namesz)) && (is_cluster)) {
+				warnx(_("%s doesn't work on this machine. Use cluster."), name);
+				return -1;
+			}
 			return i;
+		}
 	}
 	warnx(_("unknown column: %s"), name);
 	return -1;
@@ -1506,6 +1538,7 @@ get_cell_data(struct lscpu_desc *desc, int idx, int col,
 		}
 		break;
 	case COL_CPU_SOCKET:
+	case COL_CPU_CLUSTER:
 		if (mod->physical) {
 			if (desc->socketids[idx] ==  -1)
 				snprintf(buf, bufsz, "-");
@@ -2100,6 +2133,7 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
 		int threads_per_core, cores_per_socket, sockets_per_book;
 		int books_per_drawer, drawers;
 		FILE *fd;
+		int is_cluster;
 
 		threads_per_core = cores_per_socket = sockets_per_book = 0;
 		books_per_drawer = drawers = 0;
@@ -2124,12 +2158,19 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
 			if (fd)
 				fclose(fd);
 		}
+
+		is_cluster = is_fallback_to_cluster(desc);
+
 		if (desc->mtid)
 			threads_per_core = atoi(desc->mtid) + 1;
 		add_summary_n(tb, _("Thread(s) per core:"),
 			threads_per_core ?: desc->nthreads / desc->ncores);
-		add_summary_n(tb, _("Core(s) per socket:"),
-			cores_per_socket ?: desc->ncores / desc->nsockets);
+		if (is_cluster)
+			add_summary_n(tb, _("Core(s) per cluster:"),
+				cores_per_socket ?: desc->ncores / desc->nsockets);
+		else
+			add_summary_n(tb, _("Core(s) per socket:"),
+				cores_per_socket ?: desc->ncores / desc->nsockets);
 		if (desc->nbooks) {
 			add_summary_n(tb, _("Socket(s) per book:"),
 				sockets_per_book ?: desc->nsockets / desc->nbooks);
@@ -2141,7 +2182,11 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
 				add_summary_n(tb, _("Book(s):"), books_per_drawer ?: desc->nbooks);
 			}
 		} else {
-			add_summary_n(tb, _("Socket(s):"), sockets_per_book ?: desc->nsockets);
+			if (is_cluster)
+				add_summary_n(tb, _("Cluster(s):"), desc->nsockets);
+			else
+				add_summary_n(tb, _("Socket(s):"),
+						sockets_per_book ?: desc->nsockets);
 		}
 	}
 	if (desc->nnodes)
@@ -2300,6 +2345,7 @@ int main(int argc, char *argv[])
 	int columns[ARRAY_SIZE(coldescs_cpu)], ncolumns = 0;
 	int cpu_modifier_specified = 0;
 	size_t setsize;
+	int is_cluster;
 
 	enum {
 		OPT_OUTPUT_ALL = CHAR_MAX + 1,
@@ -2479,6 +2525,8 @@ int main(int argc, char *argv[])
 	read_hypervisor(desc, mod);
 	arm_cpu_decode(desc);
 
+	is_cluster = is_fallback_to_cluster(desc);
+
 	switch(mod->mode) {
 	case OUTPUT_SUMMARY:
 		print_summary(desc, mod);
@@ -2501,7 +2549,10 @@ int main(int argc, char *argv[])
 		if (!ncolumns) {
 			columns[ncolumns++] = COL_CPU_CPU;
 			columns[ncolumns++] = COL_CPU_CORE;
-			columns[ncolumns++] = COL_CPU_SOCKET;
+			if (is_cluster)
+				columns[ncolumns++] = COL_CPU_CLUSTER;
+			else
+				columns[ncolumns++] = COL_CPU_SOCKET;
 			columns[ncolumns++] = COL_CPU_NODE;
 			columns[ncolumns++] = COL_CPU_CACHE;
 			mod->compat = 1;
@@ -2518,8 +2569,12 @@ int main(int argc, char *argv[])
 				columns[ncolumns++] = COL_CPU_DRAWER;
 			if (desc->bookmaps)
 				columns[ncolumns++] = COL_CPU_BOOK;
-			if (desc->socketmaps)
-				columns[ncolumns++] = COL_CPU_SOCKET;
+			if (desc->socketmaps) {
+				if (is_cluster)
+					columns[ncolumns++] = COL_CPU_CLUSTER;
+				else
+					columns[ncolumns++] = COL_CPU_SOCKET;
+			}
 			if (desc->coremaps)
 				columns[ncolumns++] = COL_CPU_CORE;
 			if (desc->caches)
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/4] lscpu-dmi: split to parse dmi table
  2020-09-11 13:53 [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 1/4] lscpu: use cluster on aarch64 machine which doesn't have ACPI PPTT Masayoshi Mizuma
@ 2020-09-11 13:53 ` Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 3/4] lscpu: add helper to get physical sockets Masayoshi Mizuma
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-09-11 13:53 UTC (permalink / raw)
  To: util-linux; +Cc: Masayoshi Mizuma, Masayoshi Mizuma

From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

Split out a function to parse dmi table.

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
---
 sys-utils/lscpu-dmi.c | 60 ++++++++++++++++++++++++++++---------------
 1 file changed, 40 insertions(+), 20 deletions(-)

diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c
index edf0f31e0..64aac99f5 100644
--- a/sys-utils/lscpu-dmi.c
+++ b/sys-utils/lscpu-dmi.c
@@ -42,6 +42,12 @@ struct dmi_header
 	uint8_t *data;
 };
 
+struct dmi_info {
+	char *vendor;
+	char *product;
+	char *manufacturer;
+};
+
 static void *get_mem_chunk(size_t base, size_t len, const char *devmem)
 {
 	void *p = NULL;
@@ -95,20 +101,13 @@ static char *dmi_string(const struct dmi_header *dm, uint8_t s)
 	return bp;
 }
 
-static int hypervisor_from_dmi_table(uint32_t base, uint16_t len,
-				uint16_t num, const char *devmem)
+static int parse_dmi_table(uint16_t len, uint16_t num,
+				uint8_t *data,
+				struct dmi_info *di)
 {
-	uint8_t *buf;
-	uint8_t *data;
+	uint8_t *buf = data;
+	int rc = -1;
 	int i = 0;
-	char *vendor = NULL;
-	char *product = NULL;
-	char *manufacturer = NULL;
-	int rc = HYPER_NONE;
-
-	data = buf = get_mem_chunk(base, len, devmem);
-	if (!buf)
-		goto done;
 
 	 /* 4 is the length of an SMBIOS structure header */
 	while (i < num && data + 4 <= buf + len) {
@@ -132,11 +131,11 @@ static int hypervisor_from_dmi_table(uint32_t base, uint16_t len,
 		next += 2;
 		switch (h.type) {
 			case 0:
-				vendor = dmi_string(&h, data[0x04]);
+				di->vendor = dmi_string(&h, data[0x04]);
 				break;
 			case 1:
-				manufacturer = dmi_string(&h, data[0x04]);
-				product = dmi_string(&h, data[0x05]);
+				di->manufacturer = dmi_string(&h, data[0x04]);
+				di->product = dmi_string(&h, data[0x05]);
 				break;
 			default:
 				break;
@@ -145,15 +144,36 @@ static int hypervisor_from_dmi_table(uint32_t base, uint16_t len,
 		data = next;
 		i++;
 	}
-	if (manufacturer && !strcmp(manufacturer, "innotek GmbH"))
+	rc = 0;
+done:
+	return rc;
+}
+
+static int hypervisor_from_dmi_table(uint32_t base, uint16_t len,
+				uint16_t num, const char *devmem)
+{
+	uint8_t *data;
+	int rc = HYPER_NONE;
+	struct dmi_info di;
+
+	data = get_mem_chunk(base, len, devmem);
+	if (!data)
+		return rc;
+
+	memset(&di, 0, sizeof(struct dmi_info));
+	rc = parse_dmi_table(len, num, data, &di);
+	if (rc < 0)
+		goto done;
+
+	if (di.manufacturer && !strcmp(di.manufacturer, "innotek GmbH"))
 		rc = HYPER_INNOTEK;
-	else if (manufacturer && strstr(manufacturer, "HITACHI") &&
-					product && strstr(product, "LPAR"))
+	else if (di.manufacturer && strstr(di.manufacturer, "HITACHI") &&
+					di.product && strstr(di.product, "LPAR"))
 		rc = HYPER_HITACHI;
-	else if (vendor && !strcmp(vendor, "Parallels"))
+	else if (di.vendor && !strcmp(di.vendor, "Parallels"))
 		rc = HYPER_PARALLELS;
 done:
-	free(buf);
+	free(data);
 	return rc;
 }
 
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/4] lscpu: add helper to get physical sockets
  2020-09-11 13:53 [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 1/4] lscpu: use cluster on aarch64 machine which doesn't have ACPI PPTT Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 2/4] lscpu-dmi: split to parse dmi table Masayoshi Mizuma
@ 2020-09-11 13:53 ` Masayoshi Mizuma
  2020-09-11 13:53 ` [PATCH 4/4] lscpu: show physical socket on aarch64 without ACPI PPTT Masayoshi Mizuma
  2020-09-14 10:10 ` [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Karel Zak
  4 siblings, 0 replies; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-09-11 13:53 UTC (permalink / raw)
  To: util-linux; +Cc: Masayoshi Mizuma, Masayoshi Mizuma

From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

Add a helper function, get_number_of_physical_sockets_from_dmi(),
to get physical sockets from DMI table in case of the sysfs for
cpu topology doesn't have the physical socket information.

get_number_of_physical_sockets_from_dmi() parse the DMI table
and counts the number of SMBIOS Processor Information (Type04)
structure.

Note, ARM SBBR v1.0 and newer requires SMBIOS Processor Information
(Type04). And ARM SBBR v1.2 requires ACPI PPTT which has physical socket
information. So the helper function is useful for the machine base on
SBBR v1.0 and v1.1.

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
---
 sys-utils/lscpu-dmi.c | 30 ++++++++++++++++++++++++++++++
 sys-utils/lscpu.h     |  1 +
 2 files changed, 31 insertions(+)

diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c
index 64aac99f5..21c557aeb 100644
--- a/sys-utils/lscpu-dmi.c
+++ b/sys-utils/lscpu-dmi.c
@@ -46,6 +46,7 @@ struct dmi_info {
 	char *vendor;
 	char *product;
 	char *manufacturer;
+	int sockets;
 };
 
 static void *get_mem_chunk(size_t base, size_t len, const char *devmem)
@@ -137,6 +138,9 @@ static int parse_dmi_table(uint16_t len, uint16_t num,
 				di->manufacturer = dmi_string(&h, data[0x04]);
 				di->product = dmi_string(&h, data[0x05]);
 				break;
+			case 4:
+				di->sockets++;
+				break;
 			default:
 				break;
 		}
@@ -330,3 +334,29 @@ int read_hypervisor_dmi(void)
 
 	return rc < 0 ? HYPER_NONE : rc;
 }
+
+int get_number_of_physical_sockets_from_dmi(void)
+{
+	static char const sys_fw_dmi_tables[] = _PATH_SYS_DMI;
+	struct dmi_info di;
+	struct stat st;
+	uint8_t *data;
+	int rc = -1;
+
+	if (stat(sys_fw_dmi_tables, &st))
+		return rc;
+
+	data = get_mem_chunk(0, st.st_size, sys_fw_dmi_tables);
+	if (!data)
+		return rc;
+
+	memset(&di, 0, sizeof(struct dmi_info));
+	rc = parse_dmi_table(st.st_size, st.st_size/4, data, &di);
+
+	free(data);
+
+	if ((rc < 0) || !di.sockets)
+		return rc;
+	else
+		return di.sockets;
+}
diff --git a/sys-utils/lscpu.h b/sys-utils/lscpu.h
index 13af2ad0a..4475a3d27 100644
--- a/sys-utils/lscpu.h
+++ b/sys-utils/lscpu.h
@@ -209,6 +209,7 @@ struct lscpu_modifier {
 };
 
 extern int read_hypervisor_dmi(void);
+extern int get_number_of_physical_sockets_from_dmi(void);
 extern void arm_cpu_decode(struct lscpu_desc *desc);
 
 #endif /* LSCPU_H */
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/4] lscpu: show physical socket on aarch64 without ACPI PPTT
  2020-09-11 13:53 [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Masayoshi Mizuma
                   ` (2 preceding siblings ...)
  2020-09-11 13:53 ` [PATCH 3/4] lscpu: add helper to get physical sockets Masayoshi Mizuma
@ 2020-09-11 13:53 ` Masayoshi Mizuma
  2020-09-14 10:10 ` [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Karel Zak
  4 siblings, 0 replies; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-09-11 13:53 UTC (permalink / raw)
  To: util-linux; +Cc: Masayoshi Mizuma, Masayoshi Mizuma

From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

Show the number of physical socket even if the sysfs doesn't have
the physical socket information.
Note, lscpu cannot show the number of socket info for unprivileged
users because it needs to access the DMI table.

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
---
 sys-utils/lscpu.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index 8c823c170..3e7da2eac 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -2182,9 +2182,15 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
 				add_summary_n(tb, _("Book(s):"), books_per_drawer ?: desc->nbooks);
 			}
 		} else {
-			if (is_cluster)
+			if (is_cluster) {
+				int sockets = get_number_of_physical_sockets_from_dmi();
+
+				if (sockets > 0)
+					add_summary_n(tb, _("Socket(s):"), sockets);
+				else
+					add_summary_s(tb, _("Socket(s):"), "-");
 				add_summary_n(tb, _("Cluster(s):"), desc->nsockets);
-			else
+			} else
 				add_summary_n(tb, _("Socket(s):"),
 						sockets_per_book ?: desc->nsockets);
 		}
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/4] lscpu: Fix socket information on aarch64 machine
  2020-09-11 13:53 [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Masayoshi Mizuma
                   ` (3 preceding siblings ...)
  2020-09-11 13:53 ` [PATCH 4/4] lscpu: show physical socket on aarch64 without ACPI PPTT Masayoshi Mizuma
@ 2020-09-14 10:10 ` Karel Zak
  2020-09-14 12:32   ` Masayoshi Mizuma
  4 siblings, 1 reply; 10+ messages in thread
From: Karel Zak @ 2020-09-14 10:10 UTC (permalink / raw)
  To: Masayoshi Mizuma; +Cc: util-linux

On Fri, Sep 11, 2020 at 09:53:24AM -0400, Masayoshi Mizuma wrote:
> lscpu may show the wrong number of physical sockets on aarch64 machine
> as 'Socket(s)'.

I'm working on new lscpu (to make it more extendible and ready for
systems with different CPUs types on the same board). I'll apply
your changes later. Thanks!

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/4] lscpu: Fix socket information on aarch64 machine
  2020-09-14 10:10 ` [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Karel Zak
@ 2020-09-14 12:32   ` Masayoshi Mizuma
  2020-11-13 17:12     ` Masayoshi Mizuma
  0 siblings, 1 reply; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-09-14 12:32 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Mon, Sep 14, 2020 at 12:10:32PM +0200, Karel Zak wrote:
> On Fri, Sep 11, 2020 at 09:53:24AM -0400, Masayoshi Mizuma wrote:
> > lscpu may show the wrong number of physical sockets on aarch64 machine
> > as 'Socket(s)'.
> 
> I'm working on new lscpu (to make it more extendible and ready for
> systems with different CPUs types on the same board). I'll apply
> your changes later. Thanks!

Great, thanks!

- Masa

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/4] lscpu: Fix socket information on aarch64 machine
  2020-09-14 12:32   ` Masayoshi Mizuma
@ 2020-11-13 17:12     ` Masayoshi Mizuma
  2020-11-13 17:43       ` Karel Zak
  0 siblings, 1 reply; 10+ messages in thread
From: Masayoshi Mizuma @ 2020-11-13 17:12 UTC (permalink / raw)
  To: Karel Zak; +Cc: util-linux

On Mon, Sep 14, 2020 at 08:32:09AM -0400, Masayoshi Mizuma wrote:
> On Mon, Sep 14, 2020 at 12:10:32PM +0200, Karel Zak wrote:
> > On Fri, Sep 11, 2020 at 09:53:24AM -0400, Masayoshi Mizuma wrote:
> > > lscpu may show the wrong number of physical sockets on aarch64 machine
> > > as 'Socket(s)'.
> > 
> > I'm working on new lscpu (to make it more extendible and ready for
> > systems with different CPUs types on the same board). I'll apply
> > your changes later. Thanks!
> 
> Great, thanks!

Hi Karel,

Could you apply the patches?
Let me know if I should rebase the patches to the latest lscpu and resend them.

Thanks!
Masa

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/4] lscpu: Fix socket information on aarch64 machine
  2020-11-13 17:12     ` Masayoshi Mizuma
@ 2020-11-13 17:43       ` Karel Zak
  2020-11-13 17:45         ` Karel Zak
  0 siblings, 1 reply; 10+ messages in thread
From: Karel Zak @ 2020-11-13 17:43 UTC (permalink / raw)
  To: Masayoshi Mizuma; +Cc: util-linux

On Fri, Nov 13, 2020 at 12:12:52PM -0500, Masayoshi Mizuma wrote:
> On Mon, Sep 14, 2020 at 08:32:09AM -0400, Masayoshi Mizuma wrote:
> > On Mon, Sep 14, 2020 at 12:10:32PM +0200, Karel Zak wrote:
> > > On Fri, Sep 11, 2020 at 09:53:24AM -0400, Masayoshi Mizuma wrote:
> > > > lscpu may show the wrong number of physical sockets on aarch64 machine
> > > > as 'Socket(s)'.
> > > 
> > > I'm working on new lscpu (to make it more extendible and ready for
> > > systems with different CPUs types on the same board). I'll apply
> > > your changes later. Thanks!
> > 
> > Great, thanks!
> 
> Hi Karel,
> 
> Could you apply the patches?
> Let me know if I should rebase the patches to the latest lscpu and resend them.

I'd already merged.

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/4] lscpu: Fix socket information on aarch64 machine
  2020-11-13 17:43       ` Karel Zak
@ 2020-11-13 17:45         ` Karel Zak
  0 siblings, 0 replies; 10+ messages in thread
From: Karel Zak @ 2020-11-13 17:45 UTC (permalink / raw)
  To: Masayoshi Mizuma; +Cc: util-linux

On Fri, Nov 13, 2020 at 06:43:34PM +0100, Karel Zak wrote:
> On Fri, Nov 13, 2020 at 12:12:52PM -0500, Masayoshi Mizuma wrote:
> > On Mon, Sep 14, 2020 at 08:32:09AM -0400, Masayoshi Mizuma wrote:
> > > On Mon, Sep 14, 2020 at 12:10:32PM +0200, Karel Zak wrote:
> > > > On Fri, Sep 11, 2020 at 09:53:24AM -0400, Masayoshi Mizuma wrote:
> > > > > lscpu may show the wrong number of physical sockets on aarch64 machine
> > > > > as 'Socket(s)'.
> > > > 
> > > > I'm working on new lscpu (to make it more extendible and ready for
> > > > systems with different CPUs types on the same board). I'll apply
> > > > your changes later. Thanks!
> > > 
> > > Great, thanks!
> > 
> > Hi Karel,
> > 
> > Could you apply the patches?
> > Let me know if I should rebase the patches to the latest lscpu and resend them.
> 
> I'd already merged.

Ah, no, this is not merged. If you have time than go ahead and port it
to the new code.

    Karel

-- 
 Karel Zak  <kzak@redhat.com>
 http://karelzak.blogspot.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-11-13 17:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-11 13:53 [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Masayoshi Mizuma
2020-09-11 13:53 ` [PATCH 1/4] lscpu: use cluster on aarch64 machine which doesn't have ACPI PPTT Masayoshi Mizuma
2020-09-11 13:53 ` [PATCH 2/4] lscpu-dmi: split to parse dmi table Masayoshi Mizuma
2020-09-11 13:53 ` [PATCH 3/4] lscpu: add helper to get physical sockets Masayoshi Mizuma
2020-09-11 13:53 ` [PATCH 4/4] lscpu: show physical socket on aarch64 without ACPI PPTT Masayoshi Mizuma
2020-09-14 10:10 ` [PATCH 0/4] lscpu: Fix socket information on aarch64 machine Karel Zak
2020-09-14 12:32   ` Masayoshi Mizuma
2020-11-13 17:12     ` Masayoshi Mizuma
2020-11-13 17:43       ` Karel Zak
2020-11-13 17:45         ` Karel Zak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).