Re: [PATCH] rt: x86: extend signal send delay to 32 bit
On Fri, 11 Dec 2015, Shi, Yang wrote: > On 12/11/2015 10:05 AM, Sebastian Andrzej Siewior wrote: > > * Yang Shi | 2015-12-10 10:58:51 [-0800]: > > > Signal send delay is just available for x86-64, x86-32 needs it too. > > > > This is new, this was not the case earlier. New means since v4.0-rc1 which > > Yes, it is. We didn't find this problem in earlier version kernel (I'd say > 3.x). > > > is when 959274753857 ("x86, traps: Track entry into and exit from IST > > context") got merged. > > Since now ist_enter() disables preemption in any case, our hacks to > > conditional_sti_ist() are pointless and could be removed. > > I'm supposed you will revert it and not need a revert patch from me. Why do you think that reverting it is a good idea? Just because we can or what? No, we fix it up on the RT side. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] rt: x86: extend signal send delay to 32 bit
On 12/11/2015 10:05 AM, Sebastian Andrzej Siewior wrote: * Yang Shi | 2015-12-10 10:58:51 [-0800]: When running some ptrace single step tests on x86-32 machine, the below problem is triggered: BUG: sleeping function called from invalid context at linux-rt/kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 0, pid: 1041, name: dummy2 INFO: lockdep is turned off. Preemption disabled at:[] do_debug+0x1f/0x1a0 CPU: 10 PID: 1041 Comm: dummy2 Tainted: GW 4.1.13-rt13 #1 Hardware name: Intel Corporation S5520HC/S5520HC, BIOS S5500.86B.01.10.0025.030220091519 03/02/2009 e1811e80 c1aa8306 e1811ea8 c1080517 c1d8b2e8 c100326f c100326f 0411 e5b7d5b4 e1d521c4 0005 e1811f74 e1811ec4 c1ab0eff e1d51cc0 e5b7d180 c1081403 e5b7d180 e5b7d180 e1811ee4 c1064b5a Call Trace: [] dump_stack+0x46/0x5c [] ___might_sleep+0x137/0x220 [] ? do_debug+0x1f/0x1a0 [] ? do_debug+0x1f/0x1a0 [] rt_spin_lock+0x1f/0x80 [] ? preempt_count_sub+0xb3/0x110 [] do_force_sig_info+0x2a/0xc0 [] force_sig_info+0xd/0x10 [] send_sigtrap+0x6f/0x80 [] do_debug+0x161/0x1a0 [] debug_stack_correct+0x2e/0x35 Signal send delay is just available for x86-64, x86-32 needs it too. This is new, this was not the case earlier. New means since v4.0-rc1 which Yes, it is. We didn't find this problem in earlier version kernel (I'd say 3.x). is when 959274753857 ("x86, traps: Track entry into and exit from IST context") got merged. Since now ist_enter() disables preemption in any case, our hacks to conditional_sti_ist() are pointless and could be removed. I'm supposed you will revert it and not need a revert patch from me. Thanks for the deeper cause analysis. Yang Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] rt: x86: extend signal send delay to 32 bit
* Yang Shi | 2015-12-10 10:58:51 [-0800]: >When running some ptrace single step tests on x86-32 machine, the below problem >is triggered: > >BUG: sleeping function called from invalid context at >linux-rt/kernel/locking/rtmutex.c:917 >in_atomic(): 1, irqs_disabled(): 0, pid: 1041, name: dummy2 >INFO: lockdep is turned off. >Preemption disabled at:[] do_debug+0x1f/0x1a0 > >CPU: 10 PID: 1041 Comm: dummy2 Tainted: GW 4.1.13-rt13 #1 >Hardware name: Intel Corporation S5520HC/S5520HC, BIOS >S5500.86B.01.10.0025.030220091519 03/02/2009 > e1811e80 c1aa8306 e1811ea8 c1080517 c1d8b2e8 > c100326f c100326f 0411 e5b7d5b4 e1d521c4 0005 e1811f74 e1811ec4 > c1ab0eff e1d51cc0 e5b7d180 c1081403 e5b7d180 e5b7d180 e1811ee4 c1064b5a >Call Trace: > [] dump_stack+0x46/0x5c > [] ___might_sleep+0x137/0x220 > [] ? do_debug+0x1f/0x1a0 > [] ? do_debug+0x1f/0x1a0 > [] rt_spin_lock+0x1f/0x80 > [] ? preempt_count_sub+0xb3/0x110 > [] do_force_sig_info+0x2a/0xc0 > [] force_sig_info+0xd/0x10 > [] send_sigtrap+0x6f/0x80 > [] do_debug+0x161/0x1a0 > [] debug_stack_correct+0x2e/0x35 > >Signal send delay is just available for x86-64, x86-32 needs it too. This is new, this was not the case earlier. New means since v4.0-rc1 which is when 959274753857 ("x86, traps: Track entry into and exit from IST context") got merged. Since now ist_enter() disables preemption in any case, our hacks to conditional_sti_ist() are pointless and could be removed. Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] rt: x86: extend signal send delay to 32 bit
When running some ptrace single step tests on x86-32 machine, the below problem is triggered: BUG: sleeping function called from invalid context at linux-rt/kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 0, pid: 1041, name: dummy2 INFO: lockdep is turned off. Preemption disabled at:[] do_debug+0x1f/0x1a0 CPU: 10 PID: 1041 Comm: dummy2 Tainted: GW 4.1.13-rt13 #1 Hardware name: Intel Corporation S5520HC/S5520HC, BIOS S5500.86B.01.10.0025.030220091519 03/02/2009 e1811e80 c1aa8306 e1811ea8 c1080517 c1d8b2e8 c100326f c100326f 0411 e5b7d5b4 e1d521c4 0005 e1811f74 e1811ec4 c1ab0eff e1d51cc0 e5b7d180 c1081403 e5b7d180 e5b7d180 e1811ee4 c1064b5a Call Trace: [] dump_stack+0x46/0x5c [] ___might_sleep+0x137/0x220 [] ? do_debug+0x1f/0x1a0 [] ? do_debug+0x1f/0x1a0 [] rt_spin_lock+0x1f/0x80 [] ? preempt_count_sub+0xb3/0x110 [] do_force_sig_info+0x2a/0xc0 [] force_sig_info+0xd/0x10 [] send_sigtrap+0x6f/0x80 [] do_debug+0x161/0x1a0 [] debug_stack_correct+0x2e/0x35 Signal send delay is just available for x86-64, x86-32 needs it too. Signed-off-by: Yang Shi --- arch/x86/include/asm/signal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/include/asm/signal.h b/arch/x86/include/asm/signal.h index b1b08a2..0e7bfe9 100644 --- a/arch/x86/include/asm/signal.h +++ b/arch/x86/include/asm/signal.h @@ -32,7 +32,7 @@ typedef struct { * TIF_NOTIFY_RESUME and set up the signal to be sent on exit of the * trap. */ -#if defined(CONFIG_PREEMPT_RT_FULL) && defined(CONFIG_X86_64) +#if defined(CONFIG_PREEMPT_RT_FULL) #define ARCH_RT_DELAYS_SIGNAL_SEND #endif -- 2.0.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/