[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/6] util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_
From: |
David Hildenbrand |
Subject: |
[PATCH v2 0/6] util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc() |
Date: |
Thu, 22 Jul 2021 14:36:29 +0200 |
#1 adds support for MADV_POPULATE_WRITE, #2 cleans up the code to avoid
global variables and prepare for concurrency, #3 and #4 optimize thread
handling, #5 makes os_mem_prealloc() safe to be called from multiple
threads concurrently and #6 makes the SIGBUS handler coexist cleanly with
the MCE SIGBUS handler under Linux.
Details regarding MADV_POPULATE_WRITE can be found in introducing upstream
Linux commit 4ca9b3859dac ("mm/madvise: introduce
MADV_POPULATE_(READ|WRITE) to prefault page tables") and in the latest man
page patch [1].
v1 -> v2:
- "util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc()"
-- Handle thread with no data to initialize
-- Always set use_madv_populate_write properly
-- Add comment regarding future fallocate() optimization
- "util/oslib-posix: Don't create too many threads with small memory or
little pages"
-- Added
- "util/oslib-posix: Avoid creating a single thread with
MADV_POPULATE_WRITE"
-- Added
- "util/oslib-posix: Support concurrent os_mem_prealloc() invocation"
-- Add missing g_once_init_leave()
-- Move g_once_init_enter() to the place where it is actually needed
- "util/oslib-posix: Forward SIGBUS to MCE handler under Linux"
-- Added
[1] https://lkml.kernel.org/r/20210712083917.16361-1-david@redhat.com
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Marek Kedzierski <mkedzier@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: Daniel P. Berrangé <berrange@redhat.com>
David Hildenbrand (6):
util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc()
util/oslib-posix: Introduce and use MemsetContext for
touch_all_pages()
util/oslib-posix: Don't create too many threads with small memory or
little pages
util/oslib-posix: Avoid creating a single thread with
MADV_POPULATE_WRITE
util/oslib-posix: Support concurrent os_mem_prealloc() invocation
util/oslib-posix: Forward SIGBUS to MCE handler under Linux
include/qemu/osdep.h | 7 ++
softmmu/cpus.c | 4 +
util/oslib-posix.c | 220 +++++++++++++++++++++++++++++++++----------
3 files changed, 181 insertions(+), 50 deletions(-)
--
2.31.1
- [PATCH v2 0/6] util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc(),
David Hildenbrand <=
[PATCH v2 2/6] util/oslib-posix: Introduce and use MemsetContext for touch_all_pages(), David Hildenbrand, 2021/07/22
[PATCH v2 3/6] util/oslib-posix: Don't create too many threads with small memory or little pages, David Hildenbrand, 2021/07/22
[PATCH v2 4/6] util/oslib-posix: Avoid creating a single thread with MADV_POPULATE_WRITE, David Hildenbrand, 2021/07/22