Re: [PATCH RT 2/2 v4] preempt-rt/x86: Delay calling signals in int3

From: Oleg Nesterov
Date: Fri Feb 03 2012 - 13:47:18 EST


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/