From 81137d1c0b717ea973cef7fa9322d643f226a5b1 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Thu, 15 Sep 2011 08:52:32 +0200 Subject: [PATCH] lscpu: fix -e output The modifier mod->allcpus must be set earlier and also must be used earlier. The current code only reads sysfs attributes from online cpus but skips offline cpus. So initialize mod->allcpus earlier. Signed-off-by: Heiko Carstens --- sys-utils/lscpu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index 62b1a5fd82..340450b106 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -1280,11 +1280,13 @@ int main(int argc, char *argv[]) usage(stderr); } } + if (mod->mode == OUTPUT_READABLE && !mod->online) + mod->allcpus = 1; read_basicinfo(desc, mod); for (i = 0; i < desc->ncpus; i++) { - if (desc->online && !is_cpu_online(desc, i)) + if (desc->online && !is_cpu_online(desc, i) && !mod->allcpus) continue; read_topology(desc, i); read_cache(desc, i); @@ -1314,8 +1316,6 @@ int main(int argc, char *argv[]) print_parsable(desc, columns, ncolumns, mod); break; case OUTPUT_READABLE: - if (!mod->online) - mod->allcpus = 1; if (!ncolumns) { /* No list was given. Just print whatever is there. */ columns[ncolumns++] = COL_CPU; -- 2.47.3