[PATCH 0/2] KVM: x86/mmu: Micro-optimize TDP MMU cond_resched()

Sean Christopherson posted 2 patches 3 weeks, 3 days ago
arch/x86/kvm/mmu/tdp_mmu.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
[PATCH 0/2] KVM: x86/mmu: Micro-optimize TDP MMU cond_resched()
Posted by Sean Christopherson 3 weeks, 3 days ago
Invert the order of checks in tdp_mmu_iter_cond_resched() so that the common
case (no resched needed) is checked first, and opportunsitically clean up a
wart where the helper would return "yielded" in an error path, even if that
invocation didn't actually yield.  The latter cleanup allows extracting the
base "need resched" logic to a separate helper.

Note, I "speculatively" pushed these patches to kvm-x86 mmu, as they are
effectively needed for David's series to optimize hugepage recovery when
disabling dirty logging.  I'll rework the commits sometime next weeks, e.g.
fix a few changelog typos (I found two, so far), to capture reviews, and
add Links.  And if there are problems, I'll yank you the entire series
(David's and mine).

  012a5c17cba4d165961a4643c5e10a151f003733 KVM: x86/mmu: Demote the WARN on yielded in xxx_cond_resched() to KVM_MMU_WARN_ON
  d400ce271d9c555a93e38fb36ecb2d3bd60b234c KVM: x86/mmu: Check yielded_gfn for forward progress iff resched is needed

Sean Christopherson (2):
  KVM: x86/mmu: Check yielded_gfn for forward progress iff resched is
    needed
  KVM: x86/mmu: Demote the WARN on yielded in xxx_cond_resched() to
    KVM_MMU_WARN_ON

 arch/x86/kvm/mmu/tdp_mmu.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)


base-commit: 5cb1659f412041e4780f2e8ee49b2e03728a2ba6
-- 
2.47.0.163.g1226f6d8fa-goog
Re: [PATCH 0/2] KVM: x86/mmu: Micro-optimize TDP MMU cond_resched()
Posted by Sean Christopherson 2 weeks, 5 days ago
On Thu, 31 Oct 2024 10:06:31 -0700, Sean Christopherson wrote:
> Invert the order of checks in tdp_mmu_iter_cond_resched() so that the common
> case (no resched needed) is checked first, and opportunsitically clean up a
> wart where the helper would return "yielded" in an error path, even if that
> invocation didn't actually yield.  The latter cleanup allows extracting the
> base "need resched" logic to a separate helper.
> 
> Note, I "speculatively" pushed these patches to kvm-x86 mmu, as they are
> effectively needed for David's series to optimize hugepage recovery when
> disabling dirty logging.  I'll rework the commits sometime next weeks, e.g.
> fix a few changelog typos (I found two, so far), to capture reviews, and
> add Links.  And if there are problems, I'll yank you the entire series
> (David's and mine).
> 
> [...]

"Officially" applied to kvm-x86 mmu.

[1/2] KVM: x86/mmu: Check yielded_gfn for forward progress iff resched is needed
      https://github.com/kvm-x86/linux/commit/e287e4316713
[2/2] KVM: x86/mmu: Demote the WARN on yielded in xxx_cond_resched() to KVM_MMU_WARN_ON
      https://github.com/kvm-x86/linux/commit/38b0ac47169b

--
https://github.com/kvm-x86/linux/tree/next