From: Jonathan Cameron <jic23@kernel.org>
To: Shaikh Kamaluddin <shaikhkamal2012@gmail.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>,
Dave Jiang <dave.jiang@intel.com>,
Alison Schofield <alison.schofield@intel.com>,
Vishal Verma <vishal.l.verma@intel.com>,
Dan Williams <djbw@kernel.org>, Ira Weiny <iweiny@kernel.org>,
Li Ming <ming.li@zohomail.com>,
linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] cxl/events: Return IRQ_NONE when no event is pending
Date: Mon, 7 Sep 2026 19:48:24 +0100 [thread overview]
Message-ID: <20260907194824.615e47ff@jic23-huawei> (raw)
In-Reply-To: <20260906155705.13252-1-shaikhkamal2012@gmail.com>
On Sun, 6 Sep 2026 21:27:05 +0530
Shaikh Kamaluddin <shaikhkamal2012@gmail.com> wrote:
> CXL event interrupts may share an MSI/MSI-X vector with other event
> logs or device features. Consequently, cxl_event_thread() is registered
> with IRQF_SHARED and must determine whether an interrupt belongs to the
> event-log facility.
>
> The handler masks the Device Event Status register to the event logs
> supported by the driver. However, when no supported status bit is set,
> it exits the processing loop and still returns IRQ_HANDLED.
>
> Track whether at least one supported event status bit was observed.
> Return IRQ_NONE when there was no event to service, while continuing to
> return IRQ_HANDLED after processing one or more event logs.
What is the practical result of this change?
I think it will only affect the spurious interrupt detection so
to me it looks like a cleanup rather than a fix. Is there
any path by which we actually lose interrupts as a result of this?
>
> Fixes: a49aa8141b65 ("cxl/mem: Wire up event interrupts")
>
No blank lines in tag blocks. There are a number of tools that rely
on there not being any and as such there are also scripts that run
on various upstream trees that will send us annoying emails if this
blank line is still here! I'm not sure why this mistake in patch
formatting is so common as there are plenty of docs without the
blank lines!
> Signed-off-by: Shaikh Kamaluddin <shaikhkamal2012@gmail.com>
A suggestion for an alternative implementation below.
> ---
> drivers/cxl/pci.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
> index c7c91e8dc51d..8b560cae91f2 100644
> --- a/drivers/cxl/pci.c
> +++ b/drivers/cxl/pci.c
> @@ -515,6 +515,7 @@ static irqreturn_t cxl_event_thread(int irq, void *id)
> struct cxl_dev_id *dev_id = id;
> struct cxl_dev_state *cxlds = dev_id->cxlds;
> struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlds);
> + bool handled = false;
> u32 status;
>
> do {
> @@ -527,11 +528,13 @@ static irqreturn_t cxl_event_thread(int irq, void *id)
> status &= CXLDEV_EVENT_STATUS_ALL;
> if (!status)
return IRQ_NONE;
And don't need the other changes.
> break;
> +
> + handled = true;
> cxl_mem_get_event_records(mds, status);
> cond_resched();
> } while (status);
>
> - return IRQ_HANDLED;
> + return handled ? IRQ_HANDLED : IRQ_NONE;
> }
>
> static int cxl_event_req_irq(struct cxl_dev_state *cxlds, u8 setting)
>
> base-commit: 7098e9cd98a05c0c5de2fae0c2465f9d966fdd07
> prerequisite-patch-id: 92e40cd60a697020faac475dcc77ba63b33434ea
> prerequisite-patch-id: 10027ad5d9aed85806047f807b3a76273b6c4a77
next prev parent reply other threads:[~2026-09-07 18:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-06 15:57 Shaikh Kamaluddin
2026-09-07 18:48 ` Jonathan Cameron [this message]
2026-09-09 2:08 ` Li Ming
2026-09-09 19:11 ` Jonathan Cameron
2026-09-09 16:13 ` Shaikh Kamaluddin
2026-09-08 18:22 ` Anisa Su
2026-09-09 16:55 ` Shaikh Kamaluddin
2026-09-09 18:43 ` Anisa Su
2026-09-10 16:22 ` Shaikh Kamaluddin
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=20260907194824.615e47ff@jic23-huawei \
--to=jic23@kernel.org \
--cc=alison.schofield@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=djbw@kernel.org \
--cc=iweiny@kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.li@zohomail.com \
--cc=shaikhkamal2012@gmail.com \
--cc=vishal.l.verma@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®