NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: misc/52184: Recent qemu performs badly on NetBSD hosts under load



The following reply was made to PR misc/52184; it has been noted by GNATS.

From: Andreas Gustafsson <gson%gson.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: misc/52184: Recent qemu performs badly on NetBSD hosts under load
Date: Mon, 16 Apr 2018 17:24:28 +0300

 I believe the performance issues reported in this PR have now mostly
 been resolved.  There were multiple causes:
 
 1. The increase in system time was because of QEMU bug 1481272, which
 has now been fixed.  See https://bugs.launchpad.net/qemu/+bug/1481272/
 for details.
 
 2. Much of the increase in user time appears to have been due to QEMU
 2 running slowly when using a small translation buffer size.  By
 default, QEMU sizes the translation buffer based on the amount of RAM
 configured for the VM, and i386 in particular was configured with a
 small amount of RAM (32 MB), which caused a translation buffer of only
 8 MB to be used.  This was partly addressed some time ago by
 increasing the RAM configured for the i386 tests, and performance
 improved further when I recently added the qemu command line option
 "-tb-size 128" to the configuration on babylon5.netbsd.org to increase
 the size further.
 
 The size of the translation buffer appears to have a much smaller
 effect on performance in qemu 0.15, but I don't know why.
 
 3. There was also an issue with qemu failing to detect the presence
 of posix_memalign() on NetBSD, falling back to valloc() and wasting
 memory by unnecessarily rounding allocations up to full pages.  This
 does not appear to have been a major cause of the performance issues,
 but in any case, this too is now fixed.
 
 4. The NetBSD tests themselves have grown substantially, and now
 require several times more CPU time than they did a couple of years
 ago.
 
 Testing historic versions of NetBSD using a recent qemu with -m 128
 -tb-size 128 shows it running the tests faster than qemu 0.15 did
 (both running on the current babylon5.netbsd.org hardware):
 
 NetBSD source date 2016.01.01.19.14.45, qemu-0.15 -m 32
     18986.10 real     15865.06 user       604.28 sys                                           
 
 NetBSD source date 2016.01.01.19.46.48, qemu-2.11.1 -m 128 -tb-size 128 
     14637.12 real      9664.66 user       142.80 sys
 -- 
 Andreas Gustafsson, gson%gson.org@localhost
 


Home | Main Index | Thread Index | Old Index