From: Jens Axboe <axboe@kernel.dk>
To: linux-kernel@vger.kernel.org, io-uring@vger.kernel.org
Cc: peterz@infradead.org, oleg@redhat.com, tglx@linutronix.de,
Jens Axboe <axboe@kernel.dk>
Subject: [PATCH 4/5] x86: wire up TIF_NOTIFY_SIGNAL
Date: Thu, 15 Oct 2020 07:17:00 -0600 [thread overview]
Message-ID: <20201015131701.511523-5-axboe@kernel.dk> (raw)
In-Reply-To: <20201015131701.511523-1-axboe@kernel.dk>
We already get the ti_work passed in arch_do_signal(), define
TIF_NOTIFY_SIGNAL and take the appropriate action in the signal handling
based on _TIF_NOTIFY_SIGNAL and _TIF_SIGPENDING being set.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
arch/x86/include/asm/thread_info.h | 2 ++
arch/x86/kernel/signal.c | 5 ++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index 267701ae3d86..86ade67f21b7 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -93,6 +93,7 @@ struct thread_info {
#define TIF_NOTSC 16 /* TSC is not accessible in userland */
#define TIF_IA32 17 /* IA32 compatibility process */
#define TIF_SLD 18 /* Restore split lock detection on context switch */
+#define TIF_NOTIFY_SIGNAL 19 /* signal notifications exist */
#define TIF_MEMDIE 20 /* is terminating due to OOM killer */
#define TIF_POLLING_NRFLAG 21 /* idle is polling for TIF_NEED_RESCHED */
#define TIF_IO_BITMAP 22 /* uses I/O bitmap */
@@ -123,6 +124,7 @@ struct thread_info {
#define _TIF_NOTSC (1 << TIF_NOTSC)
#define _TIF_IA32 (1 << TIF_IA32)
#define _TIF_SLD (1 << TIF_SLD)
+#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index d18304e84c09..ec6490e53dc3 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -808,7 +808,10 @@ void arch_do_signal(struct pt_regs *regs, unsigned long ti_work)
{
struct ksignal ksig;
- if (get_signal(&ksig)) {
+ if (ti_work & _TIF_NOTIFY_SIGNAL)
+ tracehook_notify_signal();
+
+ if ((ti_work & _TIF_SIGPENDING) && get_signal(&ksig)) {
/* Whee! Actually deliver the signal. */
handle_signal(&ksig, regs);
return;
--
2.28.0
next prev parent reply other threads:[~2020-10-15 13:17 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-15 13:16 [PATCHSET v5] Add support for TIF_NOTIFY_SIGNAL Jens Axboe
2020-10-15 13:16 ` [PATCH 1/5] tracehook: clear TIF_NOTIFY_RESUME in tracehook_notify_resume() Jens Axboe
2020-10-15 14:42 ` Oleg Nesterov
2020-10-15 14:43 ` Jens Axboe
2020-10-15 13:16 ` [PATCH 2/5] kernel: add task_sigpending() helper Jens Axboe
2020-10-15 14:42 ` Oleg Nesterov
2020-10-15 13:16 ` [PATCH 3/5] kernel: add support for TIF_NOTIFY_SIGNAL Jens Axboe
2020-10-15 14:31 ` Oleg Nesterov
2020-10-15 14:33 ` Jens Axboe
2020-10-15 14:37 ` Oleg Nesterov
2020-10-15 14:43 ` Jens Axboe
2020-10-15 14:47 ` Oleg Nesterov
2020-10-15 14:53 ` Oleg Nesterov
2020-10-15 14:56 ` Jens Axboe
2020-10-15 15:01 ` Thomas Gleixner
2020-10-15 15:27 ` Oleg Nesterov
2020-10-15 14:44 ` Oleg Nesterov
2020-10-15 13:17 ` Jens Axboe [this message]
2020-10-15 14:11 ` [PATCH 4/5] x86: wire up TIF_NOTIFY_SIGNAL Thomas Gleixner
2020-10-15 14:31 ` Jens Axboe
2020-10-15 14:34 ` Thomas Gleixner
2020-10-15 14:35 ` Jens Axboe
2020-10-15 14:36 ` Oleg Nesterov
2020-10-15 14:42 ` Jens Axboe
2020-10-15 14:34 ` Oleg Nesterov
2020-10-15 14:54 ` Thomas Gleixner
2020-10-15 15:17 ` Oleg Nesterov
2020-10-16 9:55 ` Thomas Gleixner
2020-10-16 10:54 ` Oleg Nesterov
2020-10-16 13:07 ` Thomas Gleixner
2020-10-15 14:44 ` Oleg Nesterov
2020-10-20 10:57 ` introduce asm-generic/thread_info.h ? Oleg Nesterov
2020-10-15 13:17 ` [PATCH 5/5] task_work: use TIF_NOTIFY_SIGNAL if available Jens Axboe
2020-10-15 15:49 ` Oleg Nesterov
2020-10-15 18:39 ` Jens Axboe
2020-10-16 9:00 ` Thomas Gleixner
2020-10-16 9:39 ` Thomas Gleixner
2020-10-16 13:35 ` Jens Axboe
2020-10-16 14:17 ` Thomas Gleixner
2020-10-16 14:51 ` Oleg Nesterov
2020-10-16 14:53 ` Jens Axboe
2020-10-16 18:03 ` Thomas Gleixner
2020-10-16 18:05 ` Jens Axboe
2020-10-16 13:33 ` Jens Axboe
2020-10-16 14:11 ` Thomas Gleixner
2020-10-16 14:22 ` Jens Axboe
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=20201015131701.511523-5-axboe@kernel.dk \
--to=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/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.