microblaze: add support for TIF_NOTIFY_SIGNAL
diff mbox series

Message ID a2b78afc-5f60-8590-9df5-17302e356552@kernel.dk
State In Next
Commit 93d8101f7c08a47c3bac7558df16a8914f33ccac
Headers show
Series
  • microblaze: add support for TIF_NOTIFY_SIGNAL
Related show

Commit Message

Jens Axboe Oct. 29, 2020, 4:16 p.m. UTC
Wire up TIF_NOTIFY_SIGNAL handling for microblaze.

Cc: Michal Simek <monstr@monstr.eu>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---

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@kernel.dk/

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(-)

Comments

Jens Axboe Nov. 5, 2020, 4:18 p.m. UTC | #1
Gentle nudge on this one.

On 10/29/20 10:16 AM, Jens Axboe wrote:
> Wire up TIF_NOTIFY_SIGNAL handling for microblaze.
> 
> Cc: Michal Simek <monstr@monstr.eu>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> ---
> 
> 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@kernel.dk/
> 
> 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))
>
Michal Simek Nov. 5, 2020, 4:42 p.m. UTC | #2
Hi,

čt 5. 11. 2020 v 17:18 odesílatel Jens Axboe <axboe@kernel.dk> napsal:
>
> Gentle nudge on this one.
>
> On 10/29/20 10:16 AM, Jens Axboe wrote:
> > Wire up TIF_NOTIFY_SIGNAL handling for microblaze.
> >
> > Cc: Michal Simek <monstr@monstr.eu>
> > Signed-off-by: Jens Axboe <axboe@kernel.dk>
> > ---
> >
> > 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@kernel.dk/
> >
> > 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))
> >
>
>
> --
> Jens Axboe
>

Give me some time. I have it on my todo list.

M
Jens Axboe Nov. 5, 2020, 5:15 p.m. UTC | #3
On 11/5/20 9:42 AM, Michal Simek wrote:
> Hi,
> 
> čt 5. 11. 2020 v 17:18 odesílatel Jens Axboe <axboe@kernel.dk> napsal:
>>
>> Gentle nudge on this one.
>>
>> On 10/29/20 10:16 AM, Jens Axboe wrote:
>>> Wire up TIF_NOTIFY_SIGNAL handling for microblaze.
>>>
>>> Cc: Michal Simek <monstr@monstr.eu>
>>> Signed-off-by: Jens Axboe <axboe@kernel.dk>
>>> ---
>>>
>>> 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@kernel.dk/
>>>
>>> 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))
>>>
>>
>>
>> --
>> Jens Axboe
>>
> 
> Give me some time. I have it on my todo list.

Great, thanks!
Michal Simek Nov. 9, 2020, 11:19 a.m. UTC | #4
On 29. 10. 20 17:16, Jens Axboe wrote:
> Wire up TIF_NOTIFY_SIGNAL handling for microblaze.
> 
> Cc: Michal Simek <monstr@monstr.eu>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> ---
> 
> 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@kernel.dk/
> 
> 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.

Thanks,
Michal
Jens Axboe Nov. 9, 2020, 2:17 p.m. UTC | #5
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@monstr.eu>
>> Signed-off-by: Jens Axboe <axboe@kernel.dk>
>> ---
>>
>> 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@kernel.dk/
>>
>> 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.
Michal Simek Nov. 9, 2020, 2:18 p.m. UTC | #6
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@monstr.eu>
>>> Signed-off-by: Jens Axboe <axboe@kernel.dk>
>>> ---
>>>
>>> 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@kernel.dk/
>>>
>>> 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@xilinx.com>

Thanks,
Michal
Jens Axboe Nov. 9, 2020, 2:37 p.m. UTC | #7
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@monstr.eu>
>>>> Signed-off-by: Jens Axboe <axboe@kernel.dk>
>>>> ---
>>>>
>>>> 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@kernel.dk/
>>>>
>>>> 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@xilinx.com>

Great, thank you!

Patch
diff mbox series

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))