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 <>
To: Martin Husemann <>
Subject: Re: misc/52184: Recent qemu performs badly on NetBSD hosts under load
Date: Mon, 24 Apr 2017 15:17:39 +0300

 Martin Husemann wrote:
 >  We should probably investigate what atomic_xchg() actually expands to:
 Just a plain xchg of an 8-bit register and memory:
 $ gdb qemu-system-x86_64.05e514b1d4d5bd4209e2c8bbc76ff05c85a235f3
 (gdb) x/10i aio_notify_accept
    0x61afb8 <aio_notify_accept>:        sub    $0x18,%rsp
    0x61afbc <aio_notify_accept+4>:      mov    0x4eaddd(%rip),%rax        # 0xb05da0 <__stack_chk_guard>
    0x61afc3 <aio_notify_accept+11>:     mov    %rax,0x8(%rsp)
    0x61afc8 <aio_notify_accept+16>:     xor    %eax,%eax
    0x61afca <aio_notify_accept+18>:     xchg   %al,0x12c(%rdi)
    0x61afd0 <aio_notify_accept+24>:     test   %al,%al
    0x61afd2 <aio_notify_accept+26>:     jne    0x61afe7 <aio_notify_accept+47>
 >  For testing, it might be interesting to align it on a cache line boundary
 >  or make it a 32bit value.
 >  It may also be a compiler issue, can you test a qemu compiled with a newer
 >  gcc, or even repeat the test in NetBSD -current?
 I repeated the test in NetBSD-current (source date
 2017. using qemu prerequisite packages built from
 source using a recent pkgsrc.  Since PaX mprotect is enabled by
 default in -current, I had to disable it using "sysctl -w
 security.pax.mprotect.enabled=0" to get qemu to run.
 The results were similar to those from NetSBD 7.1:
 qemu git revision 21a03d17f2edb1e63f7137d97ba355cc6f19d79f:
 real      4468.86
 user      2870.44
 sys         25.24
 qemu git revision 05e514b1d4d5bd4209e2c8bbc76ff05c85a235f3:
 real     13180.34
 user     10890.35
 sys       6131.38
 Andreas Gustafsson,

Home | Main Index | Thread Index | Old Index