public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@qumranet.com>
Cc: kvm-devel@lists.sourceforge.net, Marcelo Tosatti <mtosatti@redhat.com>
Subject: Re: [PATCH] Use pipe() to simulate signalfd() (v2)
Date: Sun, 04 May 2008 09:21:22 -0500	[thread overview]
Message-ID: <481DC662.7010501@codemonkey.ws> (raw)
In-Reply-To: <481D7C88.1080609@qumranet.com>

Avi Kivity wrote:
> Please split the signalfd() emulation into a separate (preparatory) 
> patch.  Also, we need to detect signalfd() at run time as well as 
> compile time, since qemu may be compiled on a different machine than it 
> is run on.
>   

Ok.

> We can keep the signals blocked, but run the signalfd emulation in a 
> separate thread (where it can dequeue signals using sigwait as an added 
> bonus).  This will reduce the differences between the two modes at the 
> expense of increased signalfd() emulation complexity, which I think is a 
> good tradeoff.
>   

signalfd() can't be emulated transparently with a separate thread 
because you won't be able to wait on signals destined for the specific 
thread (only signals sent to the process).  We deliver signals directly 
to the IO thread (specifically, SIGUSR1) so this could get nasty.  We 
could just not block SIGUSR1 and rely on the fact that it will break us 
out of select() but I that makes things a bit more subtle than I'd like.

I personally prefer using pipe() within the same thread although I'm 
willing to also do the separate thread.

Regards,

Anthony LIguori

> We can move signalfd emulation into a separate file in order to improve 
> readability.
>
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

  reply	other threads:[~2008-05-04 14:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-02 19:42 [PATCH] Use pipe() to simulate signalfd() (v2) Anthony Liguori
2008-05-04  9:06 ` Avi Kivity
2008-05-04 14:21   ` Anthony Liguori [this message]
2008-05-04 14:39     ` Avi Kivity
2008-05-04 14:46       ` Anthony Liguori

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=481DC662.7010501@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@qumranet.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=mtosatti@redhat.com \
    /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