From: Paolo Bonzini <pbonzini@redhat.com>
To: shaikh kamaluddin <shaikhkamal2012@gmail.com>
Cc: Sean Christopherson <seanjc@google.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rt-devel@lists.linux.dev
Subject: Re: [PATCH] KVM: mmu_notifier: make mn_invalidate_lock non-sleeping for non-blocking invalidations
Date: Sat, 14 Mar 2026 08:47:40 +0100 [thread overview]
Message-ID: <b51de5cb-8198-4664-afcc-7386ecda81a8@redhat.com> (raw)
In-Reply-To: <abMS7MALNrmluvh5@acer-nitro-anv15-41>
On 3/12/26 20:24, shaikh kamaluddin wrote:
>>> Alternatively, if you think this needs to be addressed in
>>> mmu_notifiers(eg. how non_block_start() is applied), I'm happy to
>>> redirect my efforts there-Please advise.
>>
>> Have you considered a "OOM entered" callback for MMU notifiers? KVM's MMU
>> notifier can just remove itself for example, in fact there is code in
>> kvm_destroy_vm() to do that even if invalidations are unbalanced.
>>
>> Paolo
>>
> Thanks for the suggestion! That's a much cleaner approach than what I was considering.
>
> If I understand correctly, the idea would be:
> 1. Add a new MMU notifier callback (e.g., .oom_entered or .release_on_oom)
> 2. Have KVM implement it to unregister the notifier when OOM reaper starts
> 3. Leverage the existing kvm_destroy_vm() logic that already handles unbalanced invalidations
Yes pretty much. Essentially, move the existing logic to the new
callback and invoke it from kvm_destroy_vm().
> This avoids the whole "convert locks to raw" problem and the complexity of deferring work.
>
> I have questions on Testing part:
> ------------------------------------
> I tried to reproduce the bug scenario using the virtme-ng then running
> the stress-ng putting memory pressure on VM, but not able to reproduce
> the scenario.
> I tried this way ..
> vng -v -r ./arch/x86/boot/bzImage
> VM is up, then running the stress-ng as below
> stress-ng --vm 2 --vm-bytes 95% --timeout 20s & sleep 5 & dmesg | tail -30 | grep "sleeping function"
> OOM Killer is triggered, but exact bug not able to reproduce, Please
> suggest how to reproduce this bug, even we need to verify after code
> changes which you have suggested.
I don't know, sorry. But with this new approach there will always be a
call to the new callback from the OOM killer, so it's easier to test.
Thanks,
Paolo
next prev parent reply other threads:[~2026-03-14 7:47 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-09 16:15 shaikh.kamal
2026-02-11 12:09 ` Sebastian Andrzej Siewior
2026-02-11 15:34 ` Sean Christopherson
2026-03-03 18:49 ` shaikh kamaluddin
2026-03-06 16:42 ` Sean Christopherson
2026-03-06 18:14 ` Paolo Bonzini
2026-03-12 19:24 ` shaikh kamaluddin
2026-03-14 7:47 ` Paolo Bonzini [this message]
2026-03-25 5:19 ` shaikh kamaluddin
2026-03-26 18:23 ` Paolo Bonzini
2026-03-28 14:50 ` shaikh kamaluddin
2026-03-30 11:24 ` Paolo Bonzini
2026-04-30 14:16 ` [PATCH v2 0/1] mm/mmu_notifier: Add async OOM cleanup via call_srcu() shaikh.kamal
2026-06-07 17:58 ` shaikh kamaluddin
2026-04-30 14:17 ` [PATCH v2 1/1] " shaikh.kamal
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=b51de5cb-8198-4664-afcc-7386ecda81a8@redhat.com \
--to=pbonzini@redhat.com \
--cc=bigeasy@linutronix.de \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=seanjc@google.com \
--cc=shaikhkamal2012@gmail.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®