[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
>