Re: [PATCH 03/21] Remove use of signalfd in block-raw-posix.c

Anthony Liguori
2009-04-30T12:54:38Z

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