lscpu: show dispatching mode
A virtual guest my run in either "horiziontal" or "vertical" mode which is the mode in which the underlying hypervisor schedules the guest cpu. Since this is of interest print this in the readable output. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
8648ca961f
commit
a0fff77e93
|
@ -97,6 +97,17 @@ struct cpu_cache {
|
||||||
cpu_set_t **sharedmaps;
|
cpu_set_t **sharedmaps;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* dispatching modes */
|
||||||
|
enum {
|
||||||
|
DISP_HORIZONTAL = 0,
|
||||||
|
DISP_VERTICAL = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *disp_modes[] = {
|
||||||
|
[DISP_HORIZONTAL] = N_("horizontal"),
|
||||||
|
[DISP_VERTICAL] = N_("vertical")
|
||||||
|
};
|
||||||
|
|
||||||
/* global description */
|
/* global description */
|
||||||
struct lscpu_desc {
|
struct lscpu_desc {
|
||||||
char *arch;
|
char *arch;
|
||||||
|
@ -110,6 +121,7 @@ struct lscpu_desc {
|
||||||
char *stepping;
|
char *stepping;
|
||||||
char *bogomips;
|
char *bogomips;
|
||||||
char *flags;
|
char *flags;
|
||||||
|
int dispatching; /* none, horizontal or vertical */
|
||||||
int mode; /* rm, lm or/and tm */
|
int mode; /* rm, lm or/and tm */
|
||||||
|
|
||||||
int ncpus; /* number of CPUs */
|
int ncpus; /* number of CPUs */
|
||||||
|
@ -478,6 +490,12 @@ read_basicinfo(struct lscpu_desc *desc)
|
||||||
desc->online = path_cpulist(_PATH_SYS_SYSTEM "/cpu/online");
|
desc->online = path_cpulist(_PATH_SYS_SYSTEM "/cpu/online");
|
||||||
desc->nthreads = CPU_COUNT_S(setsize, desc->online);
|
desc->nthreads = CPU_COUNT_S(setsize, desc->online);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* get dispatching mode */
|
||||||
|
if (path_exist(_PATH_SYS_SYSTEM "/cpu/dispatching"))
|
||||||
|
desc->dispatching = path_getnum(_PATH_SYS_SYSTEM "/cpu/dispatching");
|
||||||
|
else
|
||||||
|
desc->dispatching = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -1065,6 +1083,8 @@ print_readable(struct lscpu_desc *desc, int hex)
|
||||||
print_s(_("Hypervisor vendor:"), hv_vendors[desc->hyper]);
|
print_s(_("Hypervisor vendor:"), hv_vendors[desc->hyper]);
|
||||||
print_s(_("Virtualization type:"), virt_types[desc->virtype]);
|
print_s(_("Virtualization type:"), virt_types[desc->virtype]);
|
||||||
}
|
}
|
||||||
|
if (desc->dispatching >= 0)
|
||||||
|
print_s(_("Dispatching mode:"), disp_modes[desc->dispatching]);
|
||||||
if (desc->ncaches) {
|
if (desc->ncaches) {
|
||||||
char buf[512];
|
char buf[512];
|
||||||
int i;
|
int i;
|
||||||
|
|
Loading…
Reference in New Issue