From: Jens Axboe <axboe@kernel.dk>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH] ia64: add support for TIF_NOTIFY_SIGNAL
Date: Wed, 20 Jan 2021 16:08:09 +0000 [thread overview]
Message-ID: <477eb7cf-cbf8-540e-c355-41b7e5ed558f@kernel.dk> (raw)
In-Reply-To: <d3a2aa1e-0fae-1d3f-519f-d32adc608c38@kernel.dk>
On 1/18/21 6:50 PM, John Paul Adrian Glaubitz wrote:
> Hi Jens!
>
> On 10/29/20 5:15 PM, Jens Axboe wrote:
>> Wire up TIF_NOTIFY_SIGNAL handling for ia64.
>>
>> Cc: linux-ia64@vger.kernel.org
>> Signed-off-by: Jens Axboe <axboe@kernel.dk>
>> ---
>>
>> 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@kernel.dk/
>>
>> 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/ia64/include/asm/thread_info.h | 4 +++-
>> arch/ia64/kernel/process.c | 3 ++-
>> 2 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/ia64/include/asm/thread_info.h b/arch/ia64/include/asm/thread_info.h
>> index 64a1011f6812..759d7d68a5f2 100644
>> --- a/arch/ia64/include/asm/thread_info.h
>> +++ b/arch/ia64/include/asm/thread_info.h
>> @@ -104,6 +104,7 @@ struct thread_info {
>> #define TIF_SYSCALL_AUDIT 3 /* syscall auditing active */
>> #define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */
>> #define TIF_NOTIFY_RESUME 6 /* resumption notification requested */
>> +#define TIF_NOTIFY_SIGNAL 7 /* signal notification exist */
>> #define TIF_MEMDIE 17 /* is terminating due to OOM killer */
>> #define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */
>> #define TIF_DB_DISABLED 19 /* debug trap disabled for fsyscall */
>> @@ -115,6 +116,7 @@ struct thread_info {
>> #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
>> #define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP)
>> #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME)
>> +#define _TIF_SIGNAL_NOTIFY (1 << TIF_SIGNAL_NOTIFY)
>> #define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
>> #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
>> #define _TIF_MCA_INIT (1 << TIF_MCA_INIT)
>> @@ -124,7 +126,7 @@ struct thread_info {
>>
>> /* "work to do on user-return" bits */
>> #define TIF_ALLWORK_MASK (_TIF_SIGPENDING|_TIF_NOTIFY_RESUME|_TIF_SYSCALL_AUDIT|\
>> - _TIF_NEED_RESCHED|_TIF_SYSCALL_TRACE)
>> + _TIF_NEED_RESCHED|_TIF_SYSCALL_TRACE|_TIF_NOTIFY_SIGNAL)
>> /* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */
>> #define TIF_WORK_MASK (TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT))
>>
>> diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
>> index 6b61a703bcf5..0e0146daa88d 100644
>> --- a/arch/ia64/kernel/process.c
>> +++ b/arch/ia64/kernel/process.c
>> @@ -171,7 +171,8 @@ do_notify_resume_user(sigset_t *unused, struct sigscratch *scr, long in_syscall)
>> }
>>
>> /* deal with pending signal delivery */
>> - if (test_thread_flag(TIF_SIGPENDING)) {
>> + if (test_thread_flag(TIF_SIGPENDING) ||
>> + test_thread_flags(TIF_NOTIFY_SIGNAL)) {
>> local_irq_enable(); /* force interrupt enable */
>> ia64_do_signal(scr, in_syscall);
>> }
>>
>
> This change broke the hpsa driver on my RX-2600 ia64 workstation in the sense that the
> driver no longer loads and hence hard disks are no longer recognized.
What does "no longer loads" mean? Does it hang?
> Any idea what could be wrong?
Can you try current -git? There's a task_work related fix in there which is
related to this series, maybe that's it...
--
Jens Axboe
next prev parent reply other threads:[~2021-01-20 16:08 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-29 16:15 [PATCH] ia64: add support for TIF_NOTIFY_SIGNAL Jens Axboe
2020-11-05 16:18 ` Jens Axboe
2021-01-19 1:50 ` John Paul Adrian Glaubitz
2021-01-20 16:08 ` Jens Axboe [this message]
2021-01-20 16:09 ` John Paul Adrian Glaubitz
2021-01-20 16:12 ` Jens Axboe
2021-01-28 22:42 ` Jens Axboe
2021-01-28 22:45 ` Jens Axboe
2021-01-28 22:51 ` John Paul Adrian Glaubitz
2021-01-28 22:56 ` 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=477eb7cf-cbf8-540e-c355-41b7e5ed558f@kernel.dk \
--to=axboe@kernel.dk \
--cc=linux-ia64@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.