From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: gregkh@linuxfoundation.org
Cc: axboe@kernel.dk, linux-arm-kernel@lists.infradead.org,
stable-commits@vger.kernel.org
Subject: Re: Patch "arm: add support for TIF_NOTIFY_SIGNAL" has been added to the 5.10-stable tree
Date: Tue, 3 Jan 2023 10:37:22 +0000 [thread overview]
Message-ID: <Y7QFYomfnY2loWQU@shell.armlinux.org.uk> (raw)
In-Reply-To: <167273138419795@kroah.com>
Hi Greg,
Probably not a good idea to pick this up just yet - there's been a
report of a performance regression due to this patch.
Not sure why you're picking it up anyway?
Thanks.
On Tue, Jan 03, 2023 at 08:36:24AM +0100, gregkh@linuxfoundation.org wrote:
>
> This is a note to let you know that I've just added the patch titled
>
> arm: add support for TIF_NOTIFY_SIGNAL
>
> to the 5.10-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
> arm-add-support-for-tif_notify_signal.patch
> and it can be found in the queue-5.10 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
>
>
> From 4548cba5ff2a7b81495b7c109b48972655715142 Mon Sep 17 00:00:00 2001
> From: Jens Axboe <axboe@kernel.dk>
> Date: Fri, 9 Oct 2020 16:00:49 -0600
> Subject: arm: add support for TIF_NOTIFY_SIGNAL
>
> From: Jens Axboe <axboe@kernel.dk>
>
> [ Upstream commit 32d59773da38cd83e497a70eb9754d4bbae3aeae ]
>
> Wire up TIF_NOTIFY_SIGNAL handling for arm.
>
> Cc: linux-arm-kernel@lists.infradead.org
> Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> arch/arm/include/asm/thread_info.h | 7 ++++++-
> arch/arm/kernel/entry-common.S | 6 +++---
> arch/arm/kernel/entry-v7m.S | 2 +-
> arch/arm/kernel/signal.c | 2 +-
> 4 files changed, 11 insertions(+), 6 deletions(-)
>
> --- a/arch/arm/include/asm/thread_info.h
> +++ b/arch/arm/include/asm/thread_info.h
> @@ -126,6 +126,8 @@ extern int vfp_restore_user_hwstate(stru
> * thread information flags:
> * TIF_USEDFPU - FPU was used by this task this quantum (SMP)
> * TIF_POLLING_NRFLAG - true if poll_idle() is polling TIF_NEED_RESCHED
> + *
> + * Any bit in the range of 0..15 will cause do_work_pending() to be invoked.
> */
> #define TIF_SIGPENDING 0 /* signal pending */
> #define TIF_NEED_RESCHED 1 /* rescheduling necessary */
> @@ -135,6 +137,7 @@ extern int vfp_restore_user_hwstate(stru
> #define TIF_SYSCALL_AUDIT 5 /* syscall auditing active */
> #define TIF_SYSCALL_TRACEPOINT 6 /* syscall tracepoint instrumentation */
> #define TIF_SECCOMP 7 /* seccomp syscall filtering active */
> +#define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */
>
> #define TIF_USING_IWMMXT 17
> #define TIF_MEMDIE 18 /* is terminating due to OOM killer */
> @@ -148,6 +151,7 @@ extern int vfp_restore_user_hwstate(stru
> #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
> #define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT)
> #define _TIF_SECCOMP (1 << TIF_SECCOMP)
> +#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
> #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT)
>
> /* Checks for any syscall work in entry-common.S */
> @@ -158,7 +162,8 @@ extern int vfp_restore_user_hwstate(stru
> * Change these and you break ASM code in entry-common.S
> */
> #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \
> - _TIF_NOTIFY_RESUME | _TIF_UPROBE)
> + _TIF_NOTIFY_RESUME | _TIF_UPROBE | \
> + _TIF_NOTIFY_SIGNAL)
>
> #endif /* __KERNEL__ */
> #endif /* __ASM_ARM_THREAD_INFO_H */
> --- a/arch/arm/kernel/entry-common.S
> +++ b/arch/arm/kernel/entry-common.S
> @@ -53,7 +53,7 @@ __ret_fast_syscall:
> cmp r2, #TASK_SIZE
> blne addr_limit_check_failed
> ldr r1, [tsk, #TI_FLAGS] @ re-check for syscall tracing
> - tst r1, #_TIF_SYSCALL_WORK | _TIF_WORK_MASK
> + movs r1, r1, lsl #16
> bne fast_work_pending
>
>
> @@ -90,7 +90,7 @@ __ret_fast_syscall:
> cmp r2, #TASK_SIZE
> blne addr_limit_check_failed
> ldr r1, [tsk, #TI_FLAGS] @ re-check for syscall tracing
> - tst r1, #_TIF_SYSCALL_WORK | _TIF_WORK_MASK
> + movs r1, r1, lsl #16
> beq no_work_pending
> UNWIND(.fnend )
> ENDPROC(ret_fast_syscall)
> @@ -131,7 +131,7 @@ ENTRY(ret_to_user_from_irq)
> cmp r2, #TASK_SIZE
> blne addr_limit_check_failed
> ldr r1, [tsk, #TI_FLAGS]
> - tst r1, #_TIF_WORK_MASK
> + movs r1, r1, lsl #16
> bne slow_work_pending
> no_work_pending:
> asm_trace_hardirqs_on save = 0
> --- a/arch/arm/kernel/entry-v7m.S
> +++ b/arch/arm/kernel/entry-v7m.S
> @@ -59,7 +59,7 @@ __irq_entry:
>
> get_thread_info tsk
> ldr r2, [tsk, #TI_FLAGS]
> - tst r2, #_TIF_WORK_MASK
> + movs r2, r2, lsl #16
> beq 2f @ no work pending
> mov r0, #V7M_SCB_ICSR_PENDSVSET
> str r0, [r1, V7M_SCB_ICSR] @ raise PendSV
> --- a/arch/arm/kernel/signal.c
> +++ b/arch/arm/kernel/signal.c
> @@ -655,7 +655,7 @@ do_work_pending(struct pt_regs *regs, un
> if (unlikely(!user_mode(regs)))
> return 0;
> local_irq_enable();
> - if (thread_flags & _TIF_SIGPENDING) {
> + if (thread_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL)) {
> int restart = do_signal(regs, syscall);
> if (unlikely(restart)) {
> /*
>
>
> Patches currently in stable-queue which might be from axboe@kernel.dk are
>
> queue-5.10/x86-process-setup-io_threads-more-like-normal-user-space-threads.patch
> queue-5.10/powerpc-add-support-for-tif_notify_signal.patch
> queue-5.10/eventfd-provide-a-eventfd_signal_mask-helper.patch
> queue-5.10/fs-provide-locked-helper-variant-of-close_fd_get_file.patch
> queue-5.10/relay-fix-type-mismatch-when-allocating-memory-in-re.patch
> queue-5.10/eventfd-change-int-to-__u64-in-eventfd_signal-ifndef.patch
> queue-5.10/io_uring-pass-in-epoll_uring_wake-for-eventfd-signaling-and-wakeups.patch
> queue-5.10/blk-mq-fix-possible-memleak-when-register-hctx-faile.patch
> queue-5.10/fix-handling-of-nd-depth-on-lookup_cached-failures-in-try_to_unlazy.patch
> queue-5.10/net-provide-__sys_shutdown_sock-that-takes-a-socket.patch
> queue-5.10/task_work-unconditionally-run-task_work-from-get_signal.patch
> queue-5.10/openrisc-add-support-for-tif_notify_signal.patch
> queue-5.10/signal-add-task_sigpending-helper.patch
> queue-5.10/net-remove-cmsg-restriction-from-io_uring-based-send-recvmsg-calls.patch
> queue-5.10/alpha-add-support-for-tif_notify_signal.patch
> queue-5.10/nios32-add-support-for-tif_notify_signal.patch
> queue-5.10/ia64-don-t-call-handle_signal-unless-there-s-actually-a-signal-queued.patch
> queue-5.10/task_work-remove-legacy-twa_signal-path.patch
> queue-5.10/revert-proc-don-t-allow-async-path-resolution-of-proc-self-components.patch
> queue-5.10/m68k-add-support-for-tif_notify_signal.patch
> queue-5.10/s390-add-support-for-tif_notify_signal.patch
> queue-5.10/um-add-support-for-tif_notify_signal.patch
> queue-5.10/tools-headers-uapi-sync-openat2.h-with-the-kernel-sources.patch
> queue-5.10/kernel-provide-create_io_thread-helper.patch
> queue-5.10/iov_iter-add-helper-to-save-iov_iter-state.patch
> queue-5.10/arc-unbork-5.11-bootup-fix-snafu-in-_tif_notify_signal-handling.patch
> queue-5.10/arch-ensure-parisc-powerpc-handle-pf_io_worker-in-copy_thread.patch
> queue-5.10/csky-add-support-for-tif_notify_signal.patch
> queue-5.10/arm-add-support-for-tif_notify_signal.patch
> queue-5.10/kernel-stop-masking-signals-in-create_io_thread.patch
> queue-5.10/fs-expose-lookup_cached-through-openat2-resolve_cached.patch
> queue-5.10/task_work-add-helper-for-more-targeted-task_work-canceling.patch
> queue-5.10/nds32-add-support-for-tif_notify_signal.patch
> queue-5.10/signal-kill-jobctl_task_work.patch
> queue-5.10/hexagon-add-support-for-tif_notify_signal.patch
> queue-5.10/sh-add-support-for-tif_notify_signal.patch
> queue-5.10/riscv-add-support-for-tif_notify_signal.patch
> queue-5.10/h8300-add-support-for-tif_notify_signal.patch
> queue-5.10/io_uring-import-5.15-stable-io_uring.patch
> queue-5.10/sparc-add-support-for-tif_notify_signal.patch
> queue-5.10/blktrace-fix-output-non-blktrace-event-when-blk_clas.patch
> queue-5.10/eventpoll-add-epoll_uring_wake-poll-wakeup-flag.patch
> queue-5.10/parisc-add-support-for-tif_notify_signal.patch
> queue-5.10/entry-add-support-for-tif_notify_signal.patch
> queue-5.10/x86-wire-up-tif_notify_signal.patch
> queue-5.10/task_work-use-tif_notify_signal-if-available.patch
> queue-5.10/drbd-fix-an-invalid-memory-access-caused-by-incorrec.patch
> queue-5.10/kernel-don-t-call-do_exit-for-pf_io_worker-threads.patch
> queue-5.10/kernel-allow-fork-with-tif_notify_signal-pending.patch
> queue-5.10/pata_ipx4xx_cf-fix-unsigned-comparison-with-less-tha.patch
> queue-5.10/mips-add-support-for-tif_notify_signal.patch
> queue-5.10/xtensa-add-support-for-tif_notify_signal.patch
> queue-5.10/c6x-add-support-for-tif_notify_signal.patch
> queue-5.10/microblaze-add-support-for-tif_notify_signal.patch
> queue-5.10/net-add-accept-helper-not-installing-fd.patch
> queue-5.10/ia64-add-support-for-tif_notify_signal.patch
> queue-5.10/arm64-add-support-for-tif_notify_signal.patch
> queue-5.10/arc-add-support-for-tif_notify_signal.patch
> queue-5.10/revert-proc-don-t-allow-async-path-resolution-of-proc-thread-self-components.patch
> queue-5.10/fs-make-do_renameat2-take-struct-filename.patch
> queue-5.10/kernel-remove-checking-for-tif_notify_signal.patch
> queue-5.10/arch-setup-pf_io_worker-threads-like-pf_kthread.patch
> queue-5.10/nvme-pci-fix-mempool-alloc-size.patch
> queue-5.10/fs-add-support-for-lookup_cached.patch
>
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-03 15:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-03 7:36 Patch "arm: add support for TIF_NOTIFY_SIGNAL" has been added to the 5.10-stable tree gregkh
2023-01-03 10:37 ` Russell King (Oracle) [this message]
2023-01-03 14:26 ` Jens Axboe
2023-01-03 15:54 ` Greg KH
2023-01-03 15:57 ` Russell King (Oracle)
2023-01-03 16:20 ` Greg KH
2023-01-09 17:02 ` Russell King (Oracle)
2023-01-03 15:57 ` Jens Axboe
2023-01-03 16:21 ` Greg KH
2023-01-06 22:33 ` Jens Axboe
2023-01-07 11:03 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y7QFYomfnY2loWQU@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=axboe@kernel.dk \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=stable-commits@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.