From: Paolo Bonzini <pbonzini@redhat.com>
To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Cc: Sean Christopherson <seanjc@google.com>,
Hillf Danton <hdanton@sina.com>,
Steven Rostedt <rostedt@goodmis.org>,
Harry Yoo <harry@kernel.org>
Subject: [PATCH 0/2] KVM: remove the dummy allocation case from async page fault handling
Date: Tue, 3 Nov 2026 13:49:28 +0100 [thread overview]
Message-ID: <20261103124930.2278671-1-pbonzini@redhat.com> (raw)
Asynchronous page fault handling is supposedly able to detect page
ready notifications that are sent before the waiter is registered,
but this code is broken for PREEMPT_RT because it tries to allocate in
hardirq-disabled context.
This code however is almost dead, because page ready notification will
happen on the same vCPU as the waiter and not until after the waiter
enables interrupts. Outside guest mode, interrupts are only enabled once
the waiter has registered itself, and this guarantees that an outstanding
(non-spurious) waiter will always be found. This unfortunately is not
the case for asynchronous page faults that are delivered while in guest
mode, but that can be fixed and the dubious code removed.
Paolo
Paolo Bonzini (2):
KVM: register asynchronous page fault waits with interrupts disabled
x86: KVM: remove the dummy allocation case from async page fault
handling
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/include/asm/kvm_para.h | 20 ++++++-
arch/x86/kernel/kvm.c | 97 +++++++++------------------------
arch/x86/kvm/mmu.h | 14 +++++
arch/x86/kvm/mmu/mmu.c | 4 +-
arch/x86/kvm/svm/svm.c | 3 +-
arch/x86/kvm/vmx/main.c | 2 +-
7 files changed, 65 insertions(+), 76 deletions(-)
--
2.56.0
next reply other threads:[~2026-11-03 12:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 12:49 Paolo Bonzini [this message]
2026-11-03 12:49 ` [PATCH 1/2] KVM: register asynchronous page fault waits with interrupts disabled Paolo Bonzini
2026-11-03 14:43 ` Sean Christopherson
2026-11-03 20:55 ` Paolo Bonzini
2026-11-03 12:49 ` [PATCH 2/2] x86: KVM: remove the dummy allocation case from async page fault handling Paolo Bonzini
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=20261103124930.2278671-1-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=harry@kernel.org \
--cc=hdanton@sina.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=seanjc@google.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®