2020-10-29 16:20:26

by Jens Axboe

[permalink] [raw]
Subject: [PATCH] nios32: add support for TIF_NOTIFY_SIGNAL

Wire up TIF_NOTIFY_SIGNAL handling for nios32.

Cc: Ley Foon Tan <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
---

5.11 has support queued up for TIF_NOTIFY_SIGNAL, see this posting
for details:

https://lore.kernel.org/io-uring/[email protected]/

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/nios2/include/asm/thread_info.h | 2 ++
arch/nios2/kernel/signal.c | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/nios2/include/asm/thread_info.h b/arch/nios2/include/asm/thread_info.h
index 7349a4fa635b..272d2c72a727 100644
--- a/arch/nios2/include/asm/thread_info.h
+++ b/arch/nios2/include/asm/thread_info.h
@@ -86,6 +86,7 @@ static inline struct thread_info *current_thread_info(void)
#define TIF_MEMDIE 4 /* is terminating due to OOM killer */
#define TIF_SECCOMP 5 /* secure computing */
#define TIF_SYSCALL_AUDIT 6 /* syscall auditing active */
+#define TIF_NOTIFY_SIGNAL 7 /* signal notifications exist */
#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */

#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling
@@ -97,6 +98,7 @@ static inline struct thread_info *current_thread_info(void)
#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
#define _TIF_SECCOMP (1 << TIF_SECCOMP)
#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
+#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)

diff --git a/arch/nios2/kernel/signal.c b/arch/nios2/kernel/signal.c
index cf2dca2ac7c3..2009ae2d3c3b 100644
--- a/arch/nios2/kernel/signal.c
+++ b/arch/nios2/kernel/signal.c
@@ -306,7 +306,8 @@ asmlinkage int do_notify_resume(struct pt_regs *regs)
if (!user_mode(regs))
return 0;

- if (test_thread_flag(TIF_SIGPENDING)) {
+ if (test_thread_flag(TIF_SIGPENDING) ||
+ test_thread_flag(TIF_NOTIFY_SIGNAL)) {
int restart = do_signal(regs);

if (unlikely(restart)) {
--
2.29.0

--
Jens Axboe


2020-10-30 00:31:48

by Tan, Ley Foon

[permalink] [raw]
Subject: RE: [PATCH] nios32: add support for TIF_NOTIFY_SIGNAL



> -----Original Message-----
> From: Jens Axboe <[email protected]>
> Sent: Friday, October 30, 2020 12:18 AM
> To: Tan, Ley Foon <[email protected]>; [email protected]
> Subject: [PATCH] nios32: add support for TIF_NOTIFY_SIGNAL
>
> Wire up TIF_NOTIFY_SIGNAL handling for nios32.
>
> Cc: Ley Foon Tan <[email protected]>
> Signed-off-by: Jens Axboe <[email protected]>
> ---
>
> 5.11 has support queued up for TIF_NOTIFY_SIGNAL, see this posting for
> details:
>
> https://lore.kernel.org/io-uring/20201026203230.386348-1-
> [email protected]/
>
> 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/nios2/include/asm/thread_info.h | 2 ++
> arch/nios2/kernel/signal.c | 3 ++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/nios2/include/asm/thread_info.h
> b/arch/nios2/include/asm/thread_info.h
> index 7349a4fa635b..272d2c72a727 100644
> --- a/arch/nios2/include/asm/thread_info.h
> +++ b/arch/nios2/include/asm/thread_info.h
> @@ -86,6 +86,7 @@ static inline struct thread_info
> *current_thread_info(void)
> #define TIF_MEMDIE 4 /* is terminating due to OOM killer */
> #define TIF_SECCOMP 5 /* secure computing */
> #define TIF_SYSCALL_AUDIT 6 /* syscall auditing active */
> +#define TIF_NOTIFY_SIGNAL 7 /* signal notifications exist */
> #define TIF_RESTORE_SIGMASK 9 /* restore signal mask in
> do_signal() */
>
> #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling
> @@ -97,6 +98,7 @@ static inline struct thread_info
> *current_thread_info(void)
> #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
> #define _TIF_SECCOMP (1 << TIF_SECCOMP)
> #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
> +#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
> #define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
> #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
>
> diff --git a/arch/nios2/kernel/signal.c b/arch/nios2/kernel/signal.c index
> cf2dca2ac7c3..2009ae2d3c3b 100644
> --- a/arch/nios2/kernel/signal.c
> +++ b/arch/nios2/kernel/signal.c
> @@ -306,7 +306,8 @@ asmlinkage int do_notify_resume(struct pt_regs
> *regs)
> if (!user_mode(regs))
> return 0;
>
> - if (test_thread_flag(TIF_SIGPENDING)) {
> + if (test_thread_flag(TIF_SIGPENDING) ||
> + test_thread_flag(TIF_NOTIFY_SIGNAL)) {
> int restart = do_signal(regs);
>
> if (unlikely(restart)) {
> --

Please help integrate this patch thru your git tree.

Acked-by: Ley Foon Tan <[email protected]>

Regards
Ley Foon

2020-10-30 02:36:36

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] nios32: add support for TIF_NOTIFY_SIGNAL

On 10/29/20 6:27 PM, Tan, Ley Foon wrote:
> Please help integrate this patch thru your git tree.
>
> Acked-by: Ley Foon Tan <[email protected]>

Great - thank you, added.

--
Jens Axboe