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 ?

Oleg.

Reply via email to