diff options
author | Keith Busch <kbusch@kernel.org> | 2025-01-23 07:35:43 -0800 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-01-24 10:53:56 -0500 |
commit | 931656b9e2ff7029aee0b36e17780621948a6ac1 (patch) | |
tree | 6f2c1558a03bc4ed547b12bd33e614fd014201ba /scripts/gdb/linux/radixtree.py | |
parent | 86eb1aef7279ec68fe9b7a44685efc09aa56a8f0 (diff) |
kvm: defer huge page recovery vhost task to later
Some libraries want to ensure they are single threaded before forking,
so making the kernel's kvm huge page recovery process a vhost task of
the user process breaks those. The minijail library used by crosvm is
one such affected application.
Defer the task to after the first VM_RUN call, which occurs after the
parent process has forked all its jailed processes. This needs to happen
only once for the kvm instance, so introduce some general-purpose
infrastructure for that, too. It's similar in concept to pthread_once;
except it is actually usable, because the callback takes a parameter.
Cc: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Message-ID: <20250123153543.2769928-1-kbusch@meta.com>
[Move call_once API to include/linux. - Paolo]
Cc: stable@vger.kernel.org
Fixes: d96c77bd4eeb ("KVM: x86: switch hugepage recovery thread to vhost_task")
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/gdb/linux/radixtree.py')
0 files changed, 0 insertions, 0 deletions