|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH 1.1] coroutine: Avoid ucontext usage on i386 Linux host |
Date: | Wed, 09 May 2012 15:56:21 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 |
On 05/09/2012 03:11 PM, Jan Kiszka wrote:
On 2012-05-09 17:01, Anthony Liguori wrote:On 05/09/2012 02:57 PM, Jan Kiszka wrote:On 2012-05-09 16:48, Anthony Liguori wrote:On 05/09/2012 02:34 PM, Jan Kiszka wrote:Can't we resort to the SIGUSR1 workaround for the time being, while no RT signals are in actual use, and just have the time to let the kernel side to fix the things up before some actual RTsig user will emerge in qemu? I think it is a bit more conservative approach, especially having in mind the minority of users this issue affects (only 32/64 mixed environment). I'd favor for this variant, and it looks like I'm the "main" 32/64bit user of qemu in this world :)Most conservative is definitely this patch, not switching to SIGUSR1, hoping that no other RT signal user shows up until current kernel are no longer in use.Sorry, how is using a totally different code path more conservative than using a different signal number?If the gthread version is not safe to use, why do we fall back to it?It's safe, but it's significantly slower.OK. Then what about sigaltstack (once fixed)? Is it also slower?
I don't know, performance testing would need to be done.
If not, can we converge over it? I would really hate staying with this time bomb of broken RT signals unless someone tells me we will kick out all these coroutines rather sooner than later.
AFAICT, neither SIGUSR1 or SIGUSR2 are used today. We only use SIG_IPI today. We could easily #define SIG_IPI to SIGUSR1 unconditionally today. We used to use SIGUSR2 for posix-aio but that was ages ago. AFAICT, it's only used for sigaltstack now.
I don't see where this "time bomb" comes from. I think it's perfect reasonable that if we end up needing more signals (after exhausting SIGUSR1/SIGUSR2) we simply require a fixed kernel for 32bit on 64bit.
Regards, Anthony Liguori
Jan
[Prev in Thread] | Current Thread | [Next in Thread] |