qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [EXTERNAL]Re: patch to swap SIGRTMIN + 1 and SIGRTMAX -


From: Aleksandar Markovic
Subject: Re: [Qemu-devel] [EXTERNAL]Re: patch to swap SIGRTMIN + 1 and SIGRTMAX - 1
Date: Wed, 28 Aug 2019 17:31:45 +0000

> From: Laurent Vivier <address@hidden>
> Sent: Wednesday, August 28, 2019 10:51 AM
> To: Josh Kunz; Aleksandar Markovic; address@hidden
> Cc: address@hidden; address@hidden; address@hidden; > address@hidden; Peter 
> Maydell; Shu-Chun Weng; Aleksandar Markovic
> Subject: [EXTERNAL]Re: [Qemu-devel] patch to swap SIGRTMIN + 1 and SIGRTMAX - 
> 1
> 
> Le 26/08/2019 à 23:10, Josh Kunz a écrit :
> > On Wed, Aug 21, 2019 at 2:28 AM Laurent Vivier <address@hidden
> > <mailto:address@hidden>> wrote:
> >
> >     Le 19/08/2019 à 23:46, Josh Kunz via Qemu-devel a écrit :
> >     > Hi all,
> >     >
> >     > I have also experienced issues with SIGRTMIN + 1, and am interested in
> >     > moving this patch forwards. Anything I can do here to help? Would the
> >     > maintainers prefer myself or Marli re-submit the patch?
> >     >
> >     > The Go issue here seems particularly sticky. Even if we update the Go
> >     > runtime, users may try and run older binaries built with older
> >     versions of
> >     > Go for quite some time (months? years?). Would it be better to
> >     hide this
> >     > behind some kind of build-time flag
> >     (`--enable-sigrtmin-plus-one-proxy` or
> >     > something), so that some users can opt-in, but older binaries
> >     still work as
> >     > expected?
> >     >
> >     > Also, here is a link to the original thread this message is in
> >     reply to
> >     > in-case my mail-client doesn't set up the reply properly:
> >     > https://lists.nongnu.org/archive/html/qemu-devel/2019-07/msg01303.html
> >
> >     The problem here is we break something to fix something else.
> >
> >     I'm wondering if the series from Aleksandar Markovic, "linux-user:
> >     Support signal passing for targets having more signals than host" [1]
> >     can fix the problem in a better way?
> >
> >
> > That patch[1] (which I'll refer to as the MUX patch to avoid confusion)
> > does not directly fix the issue addressed by this patch (re-wiring
> > SIGRTMIN+1), but since it basically implements generic signal
> > multiplexing, it could be re-worked to address this case as well. The
> > way it handles `si_code` spooks me a little bit. It could easily be
> > broken by a kernel version change, and such a breakage could be hard to
> > detect or lead to surprising results. Other than that, it looks like a
> > reasonable implementation.
> >
> > That said, overall, fixing the SIGRTMIN+1 issue using a more-generic
> > signal-multiplexing mechanism doesn't seem *that* much better to me. It
> > adds a lot of complexity, and only saves a single signal (assuming glibc
> > doesn't add more reserved signals). The "big win" is additional
> > emulation features, like those introduced in MUX patch (being able to
> > utilize signals outside of the host range). If having those features in
> > QEMU warrants the additional complexity, then re-working this patch
> > on-top of that infrastructure seems like a good idea.
> >
> > If the maintainers want to go down that route, then I would be happy to
> > re-work this patch utilizing the infrastructure from the MUX patch.
> > Unfortunately it will require non-trivial changes, so it may be best to
> > wait until that patch is merged. I could also provide a patch "on top
> > of" the MUX patch, if that's desired/more convenient.
> >
> > Just one last note, if you do decide to merge the MUX patch, then it
> > would be best to use SIGRTMAX (instead of SIGRTMAX-1) as the
> > multiplexing signal if possible, to avoid breaking go binaries.
> >
> 
> Personally, I prefer a solution that breaks nothing.
> 
> Aleksandar, Milos,
> 
> do you have an updated version of you series "Support signal passing for
> targets having more signals than host"?
> 

Milos is unfortunetely working on an entirely different project now, and can't 
spare enough time to finish the series. I am also busy with other issues, even 
though I would like very much this or equivalent solution to be integrated. 
Alternatively, someone in the team may have time later this year, but I do not 
know that yet  - perhaps somebody else (Josh) can take over the series?

Sincerely,
Aleksandar


> Thanks,
> Laurent
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]