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
Subject: [PATCHSET RFC 0/3] kernel: decouple TASK_WORK TWA_SIGNAL handling from signals
Date: Thu, 1 Oct 2020 13:42:05 -0600 [thread overview]
Message-ID: <20201001194208.1153522-1-axboe@kernel.dk> (raw)
Hi,
I split this up into 3 pieces instead of the messy single patch, hope
this helps with review.
Patch 1 adds task_sigpending(), which tests TIF_SIGPENDING. Core use
cases that need to check for an actual signal pending are switched to
using task_sigpending() instead of signal_pending(). This should fix
Oleg's concern on signal_pending() == true, but no signals pending,
for actual signal delivery.
Patch 2 adds x86 and generic entry code support for TIF_TASKWORK.
Patch 3 adds task_work support for TIF_TASKWORK, if the arch supports it.
There's no need for any io_uring specific changes, so I've dropped those.
If TIF_TASKWORK is used, then JOBCTL_TASK_WORK will never be true and
hence we won't enter that case. If TIF_TASKWORK isn't available, then
we still need that code.
I've run this through my usual liburing test, and it passes. I also ran
it through all the ltp signal testing, and no changes from mainline in
terms of all tests passing.
arch/x86/include/asm/thread_info.h | 2 ++
arch/x86/kernel/signal.c | 32 +++++++++++---------
include/linux/entry-common.h | 20 +++++++++++--
include/linux/sched/signal.h | 32 ++++++++++++++++----
kernel/entry/common.c | 14 +++++++--
kernel/events/uprobes.c | 2 +-
kernel/ptrace.c | 2 +-
kernel/signal.c | 12 ++++----
kernel/task_work.c | 48 ++++++++++++++++++++++--------
9 files changed, 118 insertions(+), 46 deletions(-)
Changes can also be viewed/pulled from this branch:
git://git.kernel.dk/linux-block tif-task_work
https://git.kernel.dk/cgit/linux-block/log/?h=tif-task_work
--
Jens Axboe
next reply other threads:[~2020-10-01 19:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-01 19:42 Jens Axboe [this message]
2020-10-01 19:42 ` [PATCH 1/3] kernel: add task_sigpending() helper Jens Axboe
2020-10-01 19:42 ` [PATCH 2/3] kernel: decouple TASK_WORK TWA_SIGNAL handling from signals Jens Axboe
2020-10-01 19:42 ` [PATCH 3/3] task_work: use TIF_TASKWORK if available Jens Axboe
2020-10-02 15:14 ` Oleg Nesterov
2020-10-02 15:31 ` Thomas Gleixner
2020-10-02 15:38 ` Oleg Nesterov
2020-10-02 16:18 ` Jens Axboe
2020-10-03 1:49 ` Thomas Gleixner
2020-10-03 15:35 ` Jens Axboe
2020-10-02 15:52 ` Jens Axboe
2020-10-02 16:42 ` Jens Axboe
2020-10-02 19:10 ` Thomas Gleixner
2020-10-02 20:14 ` Jens Axboe
2020-10-02 15:53 ` 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=20201001194208.1153522-1-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.