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.