From: Zhenyu Ye <yezhenyu2@huawei.com>
To: <maz@kernel.org>, <yuzenghui@huawei.com>, <will@kernel.org>,
<oliver.upton@linux.dev>, <catalin.marinas@arm.com>,
<joey.gouly@arm.com>
Cc: <linux-kernel@vger.kernel.org>, <yezhenyu2@huawei.com>,
<xiexiangyou@huawei.com>, <zhengchuan@huawei.com>,
<wangzhou1@hisilicon.com>, <linux-arm-kernel@lists.infradead.org>,
<kvm@vger.kernel.org>, <kvmarm@lists.linux.dev>
Subject: [PATCH v1 0/5] Support the FEAT_HDBSS introduced in Armv9.5
Date: Tue, 11 Mar 2025 12:03:16 +0800 [thread overview]
Message-ID: <20250311040321.1460-1-yezhenyu2@huawei.com> (raw)
From: eillon <yezhenyu2@huawei.com>
This series of patches add support to the Hardware Dirty state tracking
Structure(HDBSS) feature, which is introduced by the ARM architecture
in the DDI0601(ID121123) version.
The HDBSS feature is an extension to the architecture that enhances
tracking translation table descriptors' dirty state, identified as
FEAT_HDBSS. The goal of this feature is to reduce the cost of surveying
for dirtied granules, with minimal effect on recording when a granule
has been dirtied.
The purpose of this feature is to make the execution overhead of live
migration lower to both the guest and the host, compared to existing
approaches (write-protect or search stage 2 tables).
After these patches, users(such as qemu) can use the
KVM_CAP_ARM_HW_DIRTY_STATE_TRACK ioctl to enable or disable the HDBSS
feature before and after the live migration.
See patches for details, Thanks.
eillon (5):
arm64/sysreg: add HDBSS related register information
arm64/kvm: support set the DBM attr during memory abort
arm64/kvm: using ioctl to enable/disable the HDBSS feature
arm64/kvm: support to handle the HDBSSF event
arm64/config: add config to control whether enable HDBSS feature
arch/arm64/Kconfig | 19 +++++++
arch/arm64/Makefile | 4 +-
arch/arm64/include/asm/cpufeature.h | 15 +++++
arch/arm64/include/asm/esr.h | 2 +
arch/arm64/include/asm/kvm_arm.h | 1 +
arch/arm64/include/asm/kvm_host.h | 6 ++
arch/arm64/include/asm/kvm_mmu.h | 12 ++++
arch/arm64/include/asm/kvm_pgtable.h | 3 +
arch/arm64/include/asm/sysreg.h | 16 ++++++
arch/arm64/kvm/arm.c | 80 +++++++++++++++++++++++++++
arch/arm64/kvm/handle_exit.c | 47 ++++++++++++++++
arch/arm64/kvm/hyp/pgtable.c | 6 ++
arch/arm64/kvm/hyp/vhe/switch.c | 1 +
arch/arm64/kvm/mmu.c | 10 ++++
arch/arm64/kvm/reset.c | 7 +++
arch/arm64/tools/sysreg | 28 ++++++++++
include/linux/kvm_host.h | 1 +
include/uapi/linux/kvm.h | 1 +
tools/arch/arm64/include/asm/sysreg.h | 4 ++
tools/include/uapi/linux/kvm.h | 1 +
20 files changed, 263 insertions(+), 1 deletion(-)
--
2.39.3
next reply other threads:[~2025-03-11 4:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-11 4:03 Zhenyu Ye [this message]
2025-03-11 4:03 ` [PATCH v1 1/5] arm64/sysreg: add HDBSS related register information Zhenyu Ye
2025-03-11 9:41 ` Marc Zyngier
2025-03-11 4:03 ` [PATCH v1 2/5] arm64/kvm: support set the DBM attr during memory abort Zhenyu Ye
2025-03-11 9:47 ` Marc Zyngier
2025-03-11 4:03 ` [PATCH v1 3/5] arm64/kvm: using ioctl to enable/disable the HDBSS feature Zhenyu Ye
2025-03-11 8:05 ` Oliver Upton
2025-03-11 9:59 ` Marc Zyngier
2025-03-11 4:03 ` [PATCH v1 4/5] arm64/kvm: support to handle the HDBSSF event Zhenyu Ye
2025-03-11 10:34 ` Marc Zyngier
2025-03-11 4:03 ` [PATCH v1 5/5] arm64/config: add config to control whether enable HDBSS feature Zhenyu Ye
2025-03-11 9:53 ` Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250311040321.1460-1-yezhenyu2@huawei.com \
--to=yezhenyu2@huawei.com \
--cc=catalin.marinas@arm.com \
--cc=joey.gouly@arm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=oliver.upton@linux.dev \
--cc=wangzhou1@hisilicon.com \
--cc=will@kernel.org \
--cc=xiexiangyou@huawei.com \
--cc=yuzenghui@huawei.com \
--cc=zhengchuan@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®