linux/arch/mips
Jing Zhang cb082bfab5 KVM: stats: Add fd-based API to read binary stats data
This commit defines the API for userspace and prepare the common
functionalities to support per VM/VCPU binary stats data readings.

The KVM stats now is only accessible by debugfs, which has some
shortcomings this change series are supposed to fix:
1. The current debugfs stats solution in KVM could be disabled
   when kernel Lockdown mode is enabled, which is a potential
   rick for production.
2. The current debugfs stats solution in KVM is organized as "one
   stats per file", it is good for debugging, but not efficient
   for production.
3. The stats read/clear in current debugfs solution in KVM are
   protected by the global kvm_lock.

Besides that, there are some other benefits with this change:
1. All KVM VM/VCPU stats can be read out in a bulk by one copy
   to userspace.
2. A schema is used to describe KVM statistics. From userspace's
   perspective, the KVM statistics are self-describing.
3. With the fd-based solution, a separate telemetry would be able
   to read KVM stats in a less privileged environment.
4. After the initial setup by reading in stats descriptors, a
   telemetry only needs to read the stats data itself, no more
   parsing or setup is needed.

Reviewed-by: David Matlack <dmatlack@google.com>
Reviewed-by: Ricardo Koller <ricarkol@google.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com> #arm64
Signed-off-by: Jing Zhang <jingzhangos@google.com>
Message-Id: <20210618222709.1858088-3-jingzhangos@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-24 11:47:57 -04:00
..
alchemy MIPS: Alchemy: Use DEFINE_SPINLOCK() for spinlock 2021-04-12 16:54:57 +02:00
ar7 MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
ath25 MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
ath79 MIPS: of: Introduce helper function to get DTB 2021-02-04 13:34:51 +01:00
bcm47xx MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
bcm63xx MIPS: BCM63XX: Use BUG_ON instead of condition followed by BUG. 2021-04-26 10:23:52 +02:00
bmips MIPS: bmips: include <linux/dma-direct.h> for phys_to_dma 2021-03-06 08:43:40 +01:00
boot MIPS:DTS:Correct the license for Loongson-2K 2021-04-23 13:41:18 +02:00
cavium-octeon MIPS: octeon: Add __raw_copy_[from|to|in]_user symbols 2021-04-09 11:43:52 +02:00
cobalt MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
configs - removed get_fs/set_fs 2021-04-29 11:28:08 -07:00
crypto - removed get_fs/set_fs 2021-04-29 11:28:08 -07:00
dec MIPS: DEC: Restore bootmem reservation for firmware working memory area 2020-10-14 23:57:57 +02:00
fw MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
generic MIPS: generic: Update node names to avoid unit addresses 2021-04-12 16:48:35 +02:00
include KVM: stats: Separate generic stats from architecture specific ones 2021-06-24 11:47:56 -04:00
ingenic MIPS: jz4740: Rename jz4740 folders to ingenic 2020-09-18 16:35:05 +02:00
jazz MIPS: jazz: always allow little-endian builds 2021-01-22 13:53:21 +01:00
kernel Add Landlock, a new LSM from Mickaël Salaün <mic@linux.microsoft.com> 2021-05-01 18:50:44 -07:00
kvm KVM: stats: Add fd-based API to read binary stats data 2021-06-24 11:47:57 -04:00
lantiq MIPS: of: Introduce helper function to get DTB 2021-02-04 13:34:51 +01:00
lib MIPS: Remove get_fs/set_fs 2021-04-06 15:12:58 +02:00
loongson2ef - added support for Nintendo N64 2021-02-21 13:18:26 -08:00
loongson32 MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
loongson64 mm: move mem_init_print_info() into mm_init() 2021-04-30 11:20:42 -07:00
math-emu MIPS: Use fallthrough for arch/mips 2020-05-07 11:55:47 +02:00
mm hugetlb: pass vma into huge_pte_alloc() and huge_pmd_share() 2021-05-05 11:27:20 -07:00
mti-malta MIPS: Remove KVM_GUEST support 2021-03-10 15:18:40 +01:00
n64 mips: Add N64 machine type 2021-01-22 11:40:00 +01:00
net bpf: Rename BPF_XADD and prepare to encode other atomics in .imm 2021-01-14 18:34:29 -08:00
netlogic mips: netlogic: Use irq_domain_simple_ops for XLP PIC 2021-04-07 13:25:52 +01:00
pci MIPS: pci-legacy: revert "use generic pci_enable_resources" 2021-04-21 13:44:05 +02:00
pic32 MIPS: of: Introduce helper function to get DTB 2021-02-04 13:34:51 +01:00
pistachio driver core: lift dma_default_coherent into common code 2021-02-13 09:51:45 +01:00
power
ralink - removed get_fs/set_fs 2021-04-29 11:28:08 -07:00
rb532 net: korina: Add support for device tree 2021-04-19 15:58:14 -07:00
sgi-ip22 MIPS: Only include the platform file needed 2020-05-13 00:17:18 +02:00
sgi-ip27 mm: move mem_init_print_info() into mm_init() 2021-04-30 11:20:42 -07:00
sgi-ip30 MIPS: SGI-IP30: Move irq bits to better header files 2020-09-21 22:15:49 +02:00
sgi-ip32 arch: mips: update references to current linux-mips list 2021-02-23 13:24:38 +01:00
sibyte MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
sni MIPS: SNI: Fix spurious interrupts 2020-09-16 22:40:58 +02:00
tools MIPS: tools: Fix resource leak in elf-entry.c 2020-05-24 09:29:48 +02:00
txx9 MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
vdso MIPS: Makefile: Replace -pg with CC_FLAGS_FTRACE 2021-04-21 13:44:35 +02:00
vr41xx MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
Kbuild MIPS: Fix "make clean" error due to recent changes 2020-05-13 13:20:22 +02:00
Kbuild.platforms mips: Add N64 machine type 2021-01-22 11:40:00 +01:00
Kconfig mm: generalize SYS_SUPPORTS_HUGETLBFS (rename as ARCH_SUPPORTS_HUGETLBFS) 2021-05-05 11:27:25 -07:00
Kconfig.debug arch: mips: fix unmet dependency for DEBUG_INFO 2021-03-29 11:17:23 +02:00
Makefile arch: use cross_compiling to check whether it is a cross build or not 2021-05-06 01:49:13 +09:00
Makefile.postlink