Re: [PATCH 3/5] kernel: add support for TIF_NOTIFY_SIGNAL

From: Jens Axboe
Date: Thu Oct 15 2020 - 10:33:42 EST


On 10/15/20 8:31 AM, Oleg Nesterov wrote:
> On 10/15, Jens Axboe wrote:
>>
>> static inline int signal_pending(struct task_struct *p)
>> {
>> +#if defined(CONFIG_GENERIC_ENTRY) && defined(TIF_NOTIFY_SIGNAL)
>> + /*
>> + * TIF_NOTIFY_SIGNAL isn't really a signal, but it requires the same
>> + * behavior in terms of ensuring that we break out of wait loops
>> + * so that notify signal callbacks can be processed.
>> + */
>> + if (unlikely(test_tsk_thread_flag(p, TIF_NOTIFY_SIGNAL)))
>> + return 1;
>> +#endif
>> return task_sigpending(p);
>> }
>
> I don't understand why does this version requires CONFIG_GENERIC_ENTRY.
>
> Afaics, it is very easy to change all the non-x86 arches to support
> TIF_NOTIFY_SIGNAL, but it is not trivial to change them all to use
> kernel/entry/common.c ?

I think that Thomas wants to gate TIF_NOTIFY_SIGNAL on conversion to
the generic entry code? Because you are right, it's usually pretty
trivial to wire up the arch code, regardless of whether it uses the
generic entry handling or not.

--
Jens Axboe