On 27.07.21 21:04, Dr. David Alan Gilbert wrote:
* David Hildenbrand (da...@redhat.com) wrote:
Let's simplify the case when we only want a single thread and don't have
to mess with signal handlers.
Signed-off-by: David Hildenbrand <da...@redhat.com>
---
util/oslib-posix.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index a1d309d495..1483e985c6 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -568,6 +568,14 @@ static bool touch_all_pages(char *area, size_t hpagesize,
size_t numpages,
}
if (use_madv_populate_write) {
+ /* Avoid creating a single thread for MADV_POPULATE_WRITE */
+ if (context.num_threads == 1) {
+ if (qemu_madvise(area, hpagesize * numpages,
+ QEMU_MADV_POPULATE_WRITE)) {
Do you never have to fall back if this particular memory region is the
one that can't do madv?
We sense upfront, when detecting use_madv_populate_write, whether it's
supported on this very memory type. So, no need to fallback here.
Dave
--
Thanks,
David / dhildenb