From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Bart Van Assche <bvanassche@acm.org>
Cc: "Gregory CLEMENT" <gregory.clement@bootlin.com>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Avri Altman" <avri.altman@sandisk.com>,
"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
"Clark Williams" <clrkwllms@kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Benoît Monin" <benoit.monin@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rt-devel@lists.linux.dev
Subject: Re: [PATCH] scsi: ufs: core: Avoid sleeping in hard interrupt context when PREEMP_RT is enabled.
Date: Mon, 6 Jul 2026 17:20:31 +0200 [thread overview]
Message-ID: <20260706152031.ZUI06DL9@linutronix.de> (raw)
In-Reply-To: <4244935a-8a49-42b0-ac27-234d2367e3e3@acm.org>
On 2026-07-06 07:30:48 [-0700], Bart Van Assche wrote:
> On 6/30/26 7:15 AM, Sebastian Andrzej Siewior wrote:
> > From ufshcd_intr():
> > | intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
> > | enabled_intr_status = intr_status & ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
> > |
> > | ufshcd_writel(hba, intr_status, REG_INTERRUPT_STATUS);
> >
> > What does this do? Does it disable the IRQ source? If so then
> > IRQF_ONESHOT should be removed.
>
> Writing into the REG_INTERRUPT_STATUS register clears the bits that are
> set in the first argument of writel().
This makes it sounds as it would acknowledge the interrupt. If that is
the case then there is no need for IRQF_ONESHOT.
> > | /* Directly handle interrupts since MCQ ESI handlers does the hard job */
> > | return ufshcd_sl_intr(hba, enabled_intr_status);
> >
> > If not, why is this not part of the threaded handler?
> If MCQ is disabled, ufshcd_sl_intr() processes all types of interrupts.
> If MCQ is enabled, the ESI interrupt handlers process I/O completions
> and ufshcd_sl_intr() processes the remaining interrupt types.
So MCQ is the trigger. Does its status change after device's init time?
If I understood it correctly, after the REG_INTERRUPT_STATUS there is no
need for IRQF_ONESHOT since this masks the interrupt until the thread is
done.
If MCQ disabled there is no need for this ACK and the it could be just a
request_irq(, ufshcd_sl_intr).
If MCQ is enabled then request_threaded_irq(, mask_interrupt_only,
ufshcd_threaded_intr, IRQF_NO_THREAD)
Would this work?
> Bart.
Sebastian
prev parent reply other threads:[~2026-07-06 15:20 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 9:55 [PATCH] scsi: ufs: core: Avoid sleeping in hard interrupt context when PREEMP_RT is enabled Gregory CLEMENT
2026-06-30 10:23 ` sashiko-bot
2026-06-30 10:28 ` Gregory CLEMENT
2026-06-30 14:15 ` Sebastian Andrzej Siewior
2026-07-06 14:30 ` Bart Van Assche
2026-07-06 15:20 ` Sebastian Andrzej Siewior [this message]
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=20260706152031.ZUI06DL9@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=James.Bottomley@hansenpartnership.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@sandisk.com \
--cc=benoit.monin@bootlin.com \
--cc=bvanassche@acm.org \
--cc=clrkwllms@kernel.org \
--cc=gregory.clement@bootlin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=rostedt@goodmis.org \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.kondratiev@mobileye.com \
/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.