[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240524073812.731032-1-maobibo@loongson.cn>
Date: Fri, 24 May 2024 15:38:10 +0800
From: Bibo Mao <maobibo@...ngson.cn>
To: Tianrui Zhao <zhaotianrui@...ngson.cn>,
Huacai Chen <chenhuacai@...nel.org>
Cc: Juergen Gross <jgross@...e.com>,
kvm@...r.kernel.org,
loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org,
x86@...nel.org,
virtualization@...ts.linux.dev
Subject: [PATCH v4 0/2] LoongArch: Add steal time support
Para-virt feature steal time is added in both kvm and guest kernel side.
It is silimar with other architectures, steal time structure comes from
guest memory, also pseduo register is used to save/restore base address
of steal time structure, so that when vm is migrated, kvm module on
target machine knows the base address of steal time.
---
v3 ... v4:
1. To resolve compile dependency problem, enable SCHED_INFO option
section if KVM is enabled.
2. Put new added option PARAVIRT_TIME_ACCOUNTING in one submemu with
PARAVIRT in file arch/loongarch/Kconfig.
v2 ... v3:
1. Solve code confliction based on the kernel 6.9.0
2. Add kernel parameter no-steal-acc support on LoongArch with file
Documentation/admin-guide/kernel-parameters.txt
3. Add strict checking with pv stealtimer gpa address in function
kvm_save_notify() and kvm_loongarch_pvtime_set_attr()
v1 ... v2:
1. Add PARAVIRT_TIME_ACCOUNTING kconfig option in file
arch/loongarch/Kconfig
2. Function name change such as replace pv_register_steal_time with
pv_enable_steal_time etc
---
Bibo Mao (2):
LoongArch: KVM: Add steal time support in kvm side
LoongArch: Add steal time support in guest side
.../admin-guide/kernel-parameters.txt | 2 +-
arch/loongarch/Kconfig | 11 ++
arch/loongarch/include/asm/kvm_host.h | 7 +
arch/loongarch/include/asm/kvm_para.h | 10 ++
arch/loongarch/include/asm/kvm_vcpu.h | 4 +
arch/loongarch/include/asm/loongarch.h | 1 +
arch/loongarch/include/asm/paravirt.h | 5 +
arch/loongarch/include/uapi/asm/kvm.h | 4 +
arch/loongarch/kernel/paravirt.c | 133 ++++++++++++++++++
arch/loongarch/kernel/time.c | 2 +
arch/loongarch/kvm/Kconfig | 1 +
arch/loongarch/kvm/exit.c | 38 ++++-
arch/loongarch/kvm/vcpu.c | 124 ++++++++++++++++
13 files changed, 339 insertions(+), 3 deletions(-)
base-commit: 6e51b4b5bbc07e52b226017936874715629932d1
--
2.39.3
Powered by blists - more mailing lists