Re: [PATCH] microblaze: add support for TIF_NOTIFY_SIGNAL

From: Jens Axboe
Date: Mon Nov 09 2020 - 09:17:31 EST


On 11/9/20 4:19 AM, Michal Simek wrote:
>
>
> On 29. 10. 20 17:16, Jens Axboe wrote:
>> Wire up TIF_NOTIFY_SIGNAL handling for microblaze.
>>
>> Cc: Michal Simek <monstr@xxxxxxxxx>
>> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
>> ---
>>
>> 5.11 has support queued up for TIF_NOTIFY_SIGNAL, see this posting
>> for details:
>>
>> https://lore.kernel.org/io-uring/20201026203230.386348-1-axboe@xxxxxxxxx/
>>
>> As part of that work, I'm adding TIF_NOTIFY_SIGNAL support to all archs,
>> as that will enable a set of cleanups once all of them support it. I'm
>> happy carrying this patch if need be, or it can be funelled through the
>> arch tree. Let me know.
>>
>> arch/microblaze/include/asm/thread_info.h | 2 ++
>> arch/microblaze/kernel/signal.c | 3 ++-
>> 2 files changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/microblaze/include/asm/thread_info.h b/arch/microblaze/include/asm/thread_info.h
>> index ad8e8fcb90d3..44f5ca331862 100644
>> --- a/arch/microblaze/include/asm/thread_info.h
>> +++ b/arch/microblaze/include/asm/thread_info.h
>> @@ -107,6 +107,7 @@ static inline struct thread_info *current_thread_info(void)
>> #define TIF_NEED_RESCHED 3 /* rescheduling necessary */
>> /* restore singlestep on return to user mode */
>> #define TIF_SINGLESTEP 4
>> +#define TIF_NOTIFY_SIGNAL 5 /* signal notifications exist */
>> #define TIF_MEMDIE 6 /* is terminating due to OOM killer */
>> #define TIF_SYSCALL_AUDIT 9 /* syscall auditing active */
>> #define TIF_SECCOMP 10 /* secure computing */
>> @@ -119,6 +120,7 @@ static inline struct thread_info *current_thread_info(void)
>> #define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
>> #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
>> #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
>> +#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
>> #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
>> #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
>> #define _TIF_SECCOMP (1 << TIF_SECCOMP)
>> diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c
>> index f11a0ccccabc..5a8d173d7b75 100644
>> --- a/arch/microblaze/kernel/signal.c
>> +++ b/arch/microblaze/kernel/signal.c
>> @@ -313,7 +313,8 @@ static void do_signal(struct pt_regs *regs, int in_syscall)
>>
>> asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall)
>> {
>> - if (test_thread_flag(TIF_SIGPENDING))
>> + if (test_thread_flag(TIF_SIGPENDING) ||
>> + test_thread_flag(TIF_NOTIFY_SIGNAL))
>> do_signal(regs, in_syscall);
>>
>> if (test_thread_flag(TIF_NOTIFY_RESUME))
>>
>
> Applied for 5.11.

Would you mind if I carry this patch with an ack? I've got further fixes
and cleanups that are enabled once all archs have added support.

--
Jens Axboe