From: Leonardo Bras <leo.bras@arm.com>
To: Wei-Lin Chang <weilin.chang@arm.com>
Cc: Leonardo Bras <leo.bras@arm.com>,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
linux-kernel@vger.kernel.org, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oupton@kernel.org>, Joey Gouly <joey.gouly@arm.com>,
Steffen Eiden <seiden@linux.ibm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Gavin Shan <gshan@redhat.com>
Subject: Re: [PATCH 2/2] KVM: arm64: Remove superfluous aligning of gfn for dirty logging
Date: Mon, 8 Jun 2026 16:23:05 +0100 [thread overview]
Message-ID: <aibeWQY48zEsjqOt@devkitleo> (raw)
In-Reply-To: <20260605153248.2412064-3-weilin.chang@arm.com>
On Fri, Jun 05, 2026 at 04:32:48PM +0100, Wei-Lin Chang wrote:
> Stage-2 mapping size is forced to PAGE_SIZE when dirty logging is
> enabled for a memslot, therefore we don't need to align it down to
> a possibly larger vma size or THP adjusted size, they won't happen.
>
IIRC there was some effort being made in terms of tracking in LEVEL2 block
granularity instead of LEVEL3 (PAGE_SIZE). It makes sense as some platforms
can have very fast networking so setup time is more relevant than actual
sending time.
Would not making this change affect such effort?
Thanks!
Leo
> Signed-off-by: Wei-Lin Chang <weilin.chang@arm.com>
> ---
> arch/arm64/kvm/mmu.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
> index 06c46124d3e7..d1f6ff7c2943 100644
> --- a/arch/arm64/kvm/mmu.c
> +++ b/arch/arm64/kvm/mmu.c
> @@ -2050,13 +2050,12 @@ static int kvm_s2_fault_map(const struct kvm_s2_fault_desc *s2fd,
>
> /*
> * Mark the page dirty only if the fault is handled successfully,
> - * making sure we adjust the canonical IPA if the mapping size has
> - * been updated (via a THP upgrade, for example).
> + * mapping size is forced to PAGE_SIZE if dirty logging is enabled,
> + * so we don't have to adjust the canonical IPA here.
> */
> if (writable && !ret) {
> - phys_addr_t ipa = gfn_to_gpa(get_canonical_gfn(s2fd, s2vi));
> - ipa &= ~(mapping_size - 1);
> - mark_page_dirty_in_slot(kvm, s2fd->memslot, gpa_to_gfn(ipa));
> + gfn_t canonical_gfn = get_canonical_gfn(s2fd, s2vi);
> + mark_page_dirty_in_slot(kvm, s2fd->memslot, canonical_gfn);
> }
>
> if (ret != -EAGAIN)
> --
> 2.43.0
>
prev parent reply other threads:[~2026-06-08 15:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-05 15:32 [PATCH 0/2] KVM: arm64: Small dirty logging fixes/cleanups Wei-Lin Chang
2026-06-05 15:32 ` [PATCH 1/2] KVM: arm64: Replace memslot_is_logging() with kvm_slot_dirty_track_enabled() Wei-Lin Chang
2026-06-08 15:55 ` Leonardo Bras
2026-06-05 15:32 ` [PATCH 2/2] KVM: arm64: Remove superfluous aligning of gfn for dirty logging Wei-Lin Chang
2026-06-08 15:23 ` Leonardo Bras [this message]
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=aibeWQY48zEsjqOt@devkitleo \
--to=leo.bras@arm.com \
--cc=catalin.marinas@arm.com \
--cc=gshan@redhat.com \
--cc=joey.gouly@arm.com \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=oupton@kernel.org \
--cc=seiden@linux.ibm.com \
--cc=suzuki.poulose@arm.com \
--cc=weilin.chang@arm.com \
--cc=will@kernel.org \
--cc=yuzenghui@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.