Thread (11 messages) 11 messages, 2 authors, 2012-02-07

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

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:
quoted hunk ↗ jump to hunk
--- 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help