Re: [PATCH] microblaze: add support for TIF_NOTIFY_SIGNAL

From: Jens Axboe
Date: Mon Nov 09 2020 - 09:37:39 EST


On 11/9/20 7:18 AM, Michal Simek wrote:
>
>
> On 09. 11. 20 15:17, Jens Axboe wrote:
>> 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.
>>
>
> ok. Not a problem. Will drop it from my queue and feel free to add my
>
> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx>

Great, thank you!

--
Jens Axboe