WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Re: [Qemu-devel] [PATCH 01/13] Handle terminating signal

To: qemu-devel@xxxxxxxxxx
Subject: Re: [Xen-devel] Re: [Qemu-devel] [PATCH 01/13] Handle terminating signals.
From: Avi Kivity <avi@xxxxxxxxxxxx>
Date: Tue, 26 Aug 2008 19:12:07 +0300
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Gerd Hoffmann <kraxel@xxxxxxxxxx>
Delivery-date: Tue, 26 Aug 2008 09:12:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <18612.9061.534326.657959@xxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1219336054-15919-1-git-send-email-kraxel@xxxxxxxxxx> <1219336054-15919-2-git-send-email-kraxel@xxxxxxxxxx> <m2n.s.1KWGbo-001Nr9@xxxxxxxxxxxxxxxxxxxxxx> <18611.56975.584280.471257@xxxxxxxxxxxxxxxxxxxxxxxx> <48B3F411.2020306@xxxxxxxxxx> <18611.63711.631859.280983@xxxxxxxxxxxxxxxxxxxxxxxx> <48B4027C.1000008@xxxxxxxxxxxxx> <18612.1900.73781.314743@xxxxxxxxxxxxxxxxxxxxxxxx> <m2n.s.1KXzwZ-002RA9@xxxxxxxxxxxxxxxxxxxxxx> <18612.8170.439324.706002@xxxxxxxxxxxxxxxxxxxxxxxx> <m2n.s.1KY0XT-002RJM@xxxxxxxxxxxxxxxxxxxxxx> <18612.9061.534326.657959@xxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.16 (X11/20080723)
Ian Jackson wrote:
Avi Kivity writes ("Re: [Xen-devel] Re: [Qemu-devel] [PATCH 01/13] Handle 
terminating signals."):
Ian Jackson wrote:
My experience suggests very strongly that we should avoid doing
multithreaded things if at all possible.  Threads are less portable;
even when they are provided many of the implementations are buggy
(although less so nowadays).

There is also the way that once you have a multithreaded program, it
is much more difficult to discourage the expansion of the concurrent
functionality until the whole program is a mass of race bugs.  I would
rather not open this stable door.
In this case the thread is only used to emulate the signalfd() system call; it is not part of qemu proper.

That doesn't make us any less exposed to bugs in the threading
implementation, and is only of marginal use if anything for explaining
to people why we shouldn't have a Windows-style multithreaded bug
pile.


Threading bugs in the implementation?  In 2008?

Practically all serious software is multithreaded nowadays.

Also, I think messing about with Linux-specific syscalls and then
emulating them is hardly a sensible way to carry on, when the
alternative is portable and simple.

This has merit; though signalfd() will be a lot faster than catching a signal and writing to a pipe.

In particular, delivering a signal to userspace has to save the floating point context, while signalfd() avoids it. With the signals used to signal I/O completion, this matters.

--
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>