Re: [PATCH RT 2/2 v4] preempt-rt/x86: Delay calling signals in int3
From: Oleg Nesterov <oleg@redhat.com>
Date: 2012-02-03 18:47:20
Also in:
lkml
From: Oleg Nesterov <oleg@redhat.com>
Date: 2012-02-03 18:47:20
Also in:
lkml
Steven, I guess I need to actually read the patch before asking the questions... I'll try later, but On 02/03, Steven Rostedt wrote:
--- linux-rt.git.orig/arch/x86/kernel/entry_64.S +++ linux-rt.git/arch/x86/kernel/entry_64.S@@ -1391,6 +1391,14 @@ paranoid_userspace: paranoid_schedule: TRACE_IRQS_ON ENABLE_INTERRUPTS(CLBR_ANY) +#ifdef CONFIG_PREEMPT_RT_FULL + GET_THREAD_INFO(%rcx) + movl TI_flags(%rcx),%ebx + testl $_TIF_FORCE_SIG_TRAP,%ebx + jz paranoid_do_schedule + call do_force_sig_trap +paranoid_do_schedule: +#endif
Stupid question. Do we really need to send the signal from here? Why force_sig(rt => T) can't set TIF_NOTIFY_RESUME instead? Then we can change do_notify_resume() to check TIF_FORCE_SIG_TRAP. And perhaps we can even avoid the new TIF_FORCE_SIG_TRAP, we could check task->stored_info_set. In fact I feel this can be simplified even more, but I am not sure. Oleg.