diff options
| author | Keith Busch <[email protected]> | 2025-01-23 15:35:43 +0000 |
|---|---|---|
| committer | Paolo Bonzini <[email protected]> | 2025-01-24 15:53:56 +0000 |
| commit | 931656b9e2ff7029aee0b36e17780621948a6ac1 (patch) | |
| tree | 6f2c1558a03bc4ed547b12bd33e614fd014201ba /net/unix/af_unix.c | |
| parent | Merge branch 'kvm-mirror-page-tables' into HEAD (diff) | |
| download | kernel-931656b9e2ff7029aee0b36e17780621948a6ac1.tar.gz kernel-931656b9e2ff7029aee0b36e17780621948a6ac1.zip | |
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 <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Tested-by: Alyssa Ross <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
Message-ID: <[email protected]>
[Move call_once API to include/linux. - Paolo]
Cc: [email protected]
Fixes: d96c77bd4eeb ("KVM: x86: switch hugepage recovery thread to vhost_task")
Signed-off-by: Paolo Bonzini <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions
