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: Martin Husemann <martin%duskware.de@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
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.04.17.09.54.59) 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, gson%gson.org@localhost
Home |
Main Index |
Thread Index |
Old Index