Subject: Re: [PATCH v2 0/5] Support the FEAT_HDBSS introduced in Armv9.5

From: Marc Zyngier <[email-masked]>
Date: Sat, 22 Nov 2025 16:23:38 +0000

On Fri, 21 Nov 2025 10:21:16 +0000,
z00939249 <[email-masked]> wrote:
> 
> On 2025/11/21 17:54, Marc Zyngier wrote:
> > On Fri, 21 Nov 2025 09:23:37 +0000,
> > Tian Zheng <[email-masked]> wrote:
> >> 
> >> 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.
> >> 
> >> This feature is similar to Intel's Page Modification Logging (PML),
> >> offering hardware-assisted dirty tracking to reduce live migration
> >> overhead. With PML support expanding beyond Intel, HDBSS introduces a
> >> comparable mechanism for ARM.
> > 
> > Where is the change log describing what was changed compared to the
> > previous version?
> > 
> > We gave you extensive comments back in March. You never replied to the
> > feedback. And you now dump a whole set of patches, 6 months later,
> > without the slightest indication of what has changed?
> > 
> > Why should we make the effort to review this again?
> 
> Apologies for the lack of proper changelog and the delayed follow-up
> on the feedback provided in March. This was an oversight on our part
> during the transition of maintainership for the HDBSS patch series. We
> sincerely appreciate the thorough comments you shared earlier and
> regret not responding in a timely manner.
> 
> Below is a summary of the changes made from v1 to v2.
> 
> v1:
> https://lore.kernel.org/kvm/[email-masked]/
> 
> v1->v2 changes:
> - Removed redundant macro definitions and switched to tool-generated.
> - Split HDBSS interface and implementation into separate patches.
> - Integrate system_supports_hdbss() into ARM feature initialization.
> - Refactored HDBSS data structure to store meaningful values instead
> of raw register contents.
> - Fixed permission checks when applying DBM bits in page tables to
> prevent potential memory corruption.
> - Removed unnecessary dsb instructions.
> - Drop the debugging printks.
> - Merged the two patches "using ioctl to enable/disable the HDBSS
> feature" and "support to handle the HDBSSF event" into one.

Thanks for the update.

Please make sure you always include such description in future version
of this series. I hope the next version won't take as long (over 8
months between versions is counter productive).

	M.

-- 
Jazz isn't dead. It just smells funny.