Re: [PATCH] Wire up TIF_NOTIFY_SIGNAL handling for parisc (was: linux-parisc@xxxxxxxxxxxxxxx)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/29/20 5:19 PM, Jens Axboe wrote:
> Wire up TIF_NOTIFY_SIGNAL handling for parisc.

Nit: You mixed up the mail subject....

> Cc: linux-parisc@xxxxxxxxxxxxxxx
> 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.

Thanks for adding the support for it on parisc.
I'd prefer if you keep it in your tree and push it together with the
other patches.

You may add:
Acked-by: Helge Deller <deller@xxxxxx>

Thanks!
Helge


>  arch/parisc/include/asm/thread_info.h | 4 +++-
>  arch/parisc/kernel/signal.c           | 3 ++-
>  2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/arch/parisc/include/asm/thread_info.h b/arch/parisc/include/asm/thread_info.h
> index 285757544cca..0bd38a972cea 100644
> --- a/arch/parisc/include/asm/thread_info.h
> +++ b/arch/parisc/include/asm/thread_info.h
> @@ -52,6 +52,7 @@ struct thread_info {
>  #define TIF_POLLING_NRFLAG	3	/* true if poll_idle() is polling TIF_NEED_RESCHED */
>  #define TIF_32BIT               4       /* 32 bit binary */
>  #define TIF_MEMDIE		5	/* is terminating due to OOM killer */
> +#define TIF_NOTIFY_SIGNAL	6	/* signal notifications exist */
>  #define TIF_SYSCALL_AUDIT	7	/* syscall auditing active */
>  #define TIF_NOTIFY_RESUME	8	/* callback before returning to user */
>  #define TIF_SINGLESTEP		9	/* single stepping? */
> @@ -61,6 +62,7 @@ struct thread_info {
>
>  #define _TIF_SYSCALL_TRACE	(1 << TIF_SYSCALL_TRACE)
>  #define _TIF_SIGPENDING		(1 << TIF_SIGPENDING)
> +#define _TIF_NOTIFY_SIGNAL	(1 << TIF_NOTIFY_SIGNAL)
>  #define _TIF_NEED_RESCHED	(1 << TIF_NEED_RESCHED)
>  #define _TIF_POLLING_NRFLAG	(1 << TIF_POLLING_NRFLAG)
>  #define _TIF_32BIT		(1 << TIF_32BIT)
> @@ -72,7 +74,7 @@ struct thread_info {
>  #define _TIF_SYSCALL_TRACEPOINT	(1 << TIF_SYSCALL_TRACEPOINT)
>
>  #define _TIF_USER_WORK_MASK     (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | \
> -                                 _TIF_NEED_RESCHED)
> +                                 _TIF_NEED_RESCHED | _TIF_NOTIFY_SIGNAL)
>  #define _TIF_SYSCALL_TRACE_MASK (_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP |	\
>  				 _TIF_BLOCKSTEP | _TIF_SYSCALL_AUDIT | \
>  				 _TIF_SECCOMP | _TIF_SYSCALL_TRACEPOINT)
> diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
> index 9f43eaeb0b0a..fb1e94a3982b 100644
> --- a/arch/parisc/kernel/signal.c
> +++ b/arch/parisc/kernel/signal.c
> @@ -603,7 +603,8 @@ do_signal(struct pt_regs *regs, long in_syscall)
>
>  void do_notify_resume(struct pt_regs *regs, long 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))
>





[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux