mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-03-03 18:28:01 +01:00
Introduce a debugfs interface to expose root and child partition stats
when running with mshv_root.
Create a debugfs directory "mshv" containing 'stats' files organized by
type and id. A stats file contains a number of counters depending on
its type. e.g. an excerpt from a VP stats file:
TotalRunTime : 1997602722
HypervisorRunTime : 649671371
RemoteNodeRunTime : 0
NormalizedRunTime : 1997602721
IdealCpu : 0
HypercallsCount : 1708169
HypercallsTime : 111914774
PageInvalidationsCount : 0
PageInvalidationsTime : 0
On a root partition with some active child partitions, the entire
directory structure may look like:
mshv/
stats # hypervisor stats
lp/ # logical processors
0/ # LP id
stats # LP 0 stats
1/
2/
3/
partition/ # partition stats
1/ # root partition id
stats # root partition stats
vp/ # root virtual processors
0/ # root VP id
stats # root VP 0 stats
1/
2/
3/
42/ # child partition id
stats # child partition stats
vp/ # child VPs
0/ # child VP id
stats # child VP 0 stats
1/
43/
55/
On L1VH, some stats are not present as it does not own the hardware
like the root partition does:
- The hypervisor and lp stats are not present
- L1VH's partition directory is named "self" because it can't get its
own id
- Some of L1VH's partition and VP stats fields are not populated, because
it can't map its own HV_STATS_AREA_PARENT page.
Co-developed-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Co-developed-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Co-developed-by: Mukesh Rathor <mrathor@linux.microsoft.com>
Signed-off-by: Mukesh Rathor <mrathor@linux.microsoft.com>
Co-developed-by: Purna Pavan Chandra Aekkaladevi <paekkaladevi@linux.microsoft.com>
Signed-off-by: Purna Pavan Chandra Aekkaladevi <paekkaladevi@linux.microsoft.com>
Co-developed-by: Jinank Jain <jinankjain@microsoft.com>
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
Reviewed-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Acked-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
27 lines
938 B
Makefile
27 lines
938 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_HYPERV_VMBUS) += hv_vmbus.o
|
|
obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o
|
|
obj-$(CONFIG_HYPERV_BALLOON) += hv_balloon.o
|
|
obj-$(CONFIG_MSHV_ROOT) += mshv_root.o
|
|
obj-$(CONFIG_MSHV_VTL) += mshv_vtl.o
|
|
|
|
CFLAGS_hv_trace.o = -I$(src)
|
|
CFLAGS_hv_balloon.o = -I$(src)
|
|
|
|
hv_vmbus-y := vmbus_drv.o \
|
|
hv.o connection.o channel.o \
|
|
channel_mgmt.o ring_buffer.o hv_trace.o
|
|
hv_vmbus-$(CONFIG_HYPERV_TESTING) += hv_debugfs.o
|
|
hv_utils-y := hv_util.o hv_kvp.o hv_snapshot.o hv_utils_transport.o
|
|
mshv_root-y := mshv_root_main.o mshv_synic.o mshv_eventfd.o mshv_irq.o \
|
|
mshv_root_hv_call.o mshv_portid_table.o mshv_regions.o
|
|
mshv_root-$(CONFIG_DEBUG_FS) += mshv_debugfs.o
|
|
mshv_vtl-y := mshv_vtl_main.o
|
|
|
|
# Code that must be built-in
|
|
obj-$(CONFIG_HYPERV) += hv_common.o
|
|
obj-$(subst m,y,$(CONFIG_MSHV_ROOT)) += hv_proc.o
|
|
ifneq ($(CONFIG_MSHV_ROOT)$(CONFIG_MSHV_VTL),)
|
|
obj-y += mshv_common.o
|
|
endif
|