* 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? Dave > + return true; > + } > + return false; > + } > touch_fn = do_madv_populate_write_pages; > } else { > touch_fn = do_touch_pages; > -- > 2.31.1 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK