Re: [PATCH v2 0/2] RISC-V: KVM: Optimize hfence request handling for SMP guests

From: Anup Patel

Date: Fri Jul 31 2026 - 02:02:18 EST


On Tue, Jul 7, 2026 at 6:22 PM Wang Yechao <wang.yechao255@xxxxxxxxxx> wrote:
>
> This series improves the hfence request handling in RISC-V KVM,
> targeting scenarios where multiple VCPUs are running an SMP guest.
>
> The first patch Introduce make_xfence_request_nodata for FENCE.I
> requests and moves the hfence data/type validation out of the
> VCPU loop to avoid redundant checks on every iteration.
>
> The second patch fixes a more subtle performance issue: when one
> VCPU's hfence queue becomes full and triggers a fallback, the
> current code applies the fallback to all VCPUs indiscriminately.
> This unnecessarily degrades healthy VCPUs and can cause their
> queues to fill up prematurely due to lack of processing it.
>
> With these changes, fallback is applied only to the VCPUs that
> actually need it, preserving the efficiency of the normal path
> for others.
>
> Changes in v2:
> - Fix the patch01 broken the KVM_REQ_FENCE_I request(Sashiko AI review).
>
> - Link to v1:
> https://lore.kernel.org/linux-riscv/20260707113715.413265-1-wang.yechao255@xxxxxxxxxx/
>
> Wang Yechao (2):
> RISC-V: KVM: Introduce make_xfence_request_nodata for FENCE.I requests
> RISC-V: KVM: Separate req and fallback_req masks in
> make_xfence_request
>
> arch/riscv/kvm/tlb.c | 46 +++++++++++++++++++++++++++++++++-----------
> 1 file changed, 35 insertions(+), 11 deletions(-)
>
> --
> 2.43.5
>

The PATCH2 is a fix independent of PATCH1 so re-order
and make PATCH2 as first patch which can be applied
independent of PATCH1

Regards,
Anup