From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 03/21] Remove use of signalfd in block-raw-posix.c
Date: Thu, 30 Apr 2009 07:54:34 -0500 [thread overview]
Message-ID: <49F99F8A.8010806@codemonkey.ws> (raw)
In-Reply-To: <49F96F37.2070002@redhat.com>
Avi Kivity wrote:
> Anthony Liguori wrote:
>> We don't use signalfd in upstream QEMU. Instead, we always emulate it.
>>
>
> With an extra thread -> so an extra context switch.
We don't use an extra thread. We just install a signal handler that
writes to a pipe. At best, the added overhead is that we get EINTRs
more often but this is something we already handle.
>> It's not necessarily a bad thing to use signalfd, but this is
>> something that
>> should be done upstream. It certainly does qemu-kvm no harm to use
>> the upstream
>> code.
>>
>
> It will introduce a (likely minor, but real) performance regression.
>
> Instead of this, why not apply the reverse patch to qemu.git?
I'm not sure signalfd really buys us much. To emulate it requires
writing a bunch more data to the pipe. When writing more than 1 byte,
we have to worry about whether there's a partial write because the pipe
buffers full). We also have to make sure to read from the fd in
properly sized chunks.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-04-30 12:54 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-29 21:20 [PATCH 0/21] Remove merge artifacts from qemu-kvm Anthony Liguori
2009-04-29 21:20 ` [PATCH 01/21] Remove memalign call for guess_disk_lchs Anthony Liguori
2009-04-29 21:20 ` [PATCH 02/21] Remove devfn from BlockDriverState Anthony Liguori
2009-04-29 21:20 ` [PATCH 03/21] Remove use of signalfd in block-raw-posix.c Anthony Liguori
2009-04-30 9:28 ` Avi Kivity
2009-04-30 12:54 ` Anthony Liguori [this message]
2009-04-30 13:05 ` Avi Kivity
2009-04-30 13:28 ` Anthony Liguori
2009-04-30 13:36 ` Avi Kivity
2009-05-03 16:48 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 04/21] Remove stray whitespace Anthony Liguori
2009-04-29 21:20 ` [PATCH 05/21] Remove extra call to kvm_cpu_exec() Anthony Liguori
2009-04-29 21:20 ` [PATCH 06/21] Remove dead functions from cutils Anthony Liguori
2009-04-29 21:20 ` [PATCH 07/21] Remove dead macros likely/unlikely in exec.c Anthony Liguori
2009-04-29 21:20 ` [PATCH 08/21] Remove leftovers in device-hotplug.c Anthony Liguori
2009-04-29 21:20 ` [PATCH 09/21] Remove unnecessary setting of cmos smp_cpu count Anthony Liguori
2009-04-29 21:20 ` [PATCH 10/21] Remove IBM copyright in unmodified file in upstream Anthony Liguori
2009-04-29 21:38 ` Hollis Blanchard
2009-04-29 21:20 ` [PATCH 11/21] Remove unused variables in vga.c Anthony Liguori
2009-04-30 9:33 ` Avi Kivity
2009-04-30 13:09 ` Anthony Liguori
2009-04-29 21:20 ` [PATCH 12/21] Remove odd hack " Anthony Liguori
2009-04-30 9:39 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 13/21] Remove virtio-console PIF change Anthony Liguori
2009-04-30 9:40 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 14/21] Remove -cpu-vendor-string Anthony Liguori
2009-04-30 9:41 ` Avi Kivity
2009-04-30 13:10 ` Anthony Liguori
2009-04-30 13:16 ` Avi Kivity
2009-04-30 13:26 ` Anthony Liguori
2009-04-30 13:33 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 15/21] Remove defined(TARGET_X86_64) Anthony Liguori
2009-04-29 21:20 ` [PATCH 16/21] Remove clean rule change Anthony Liguori
2009-04-30 9:42 ` Avi Kivity
2009-04-30 15:10 ` Hollis Blanchard
2009-04-30 15:13 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 17/21] Remove #define __user in usb-linux.c Anthony Liguori
2009-04-30 9:43 ` Avi Kivity
2009-04-30 13:11 ` Anthony Liguori
2009-04-30 13:17 ` Avi Kivity
2009-04-30 13:20 ` Anthony Liguori
2009-04-29 21:20 ` [PATCH 18/21] Remove host_alarm_timer hacks Anthony Liguori
2009-04-30 9:44 ` Avi Kivity
2009-04-30 13:19 ` Anthony Liguori
2009-04-30 13:25 ` Avi Kivity
2009-04-30 13:37 ` Anthony Liguori
2009-04-30 15:46 ` Avi Kivity
2009-04-30 15:49 ` Anthony Liguori
2009-04-30 15:53 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 19/21] Use QEMU_PKGVERSION to declare kvm-devel Anthony Liguori
2009-04-29 21:20 ` [PATCH 20/21] Get rid of qemu_get_launch_info() Anthony Liguori
2009-04-29 21:20 ` [PATCH 21/21] Leave upstream QEMU comments intact Anthony Liguori
2009-04-30 9:50 ` [PATCH 0/21] Remove merge artifacts from qemu-kvm Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49F99F8A.8010806@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox