From: Dave Jiang <dave.jiang@intel.com>
To: Robin Murphy <robin.murphy@arm.com>,
linux-cxl@vger.kernel.org, linux-perf-users@vger.kernel.org
Cc: jic23@kernel.org, will@kernel.org, mark.rutland@arm.com,
dave@stgolabs.net
Subject: Re: [PATCH v3 4/9] perf/cxl: Split the MSI vector out of info->irq
Date: Mon, 3 Aug 2026 09:01:04 -0700 [thread overview]
Message-ID: <ab9b7f3a-e2a5-4627-b2ac-d53ce3a82477@intel.com> (raw)
In-Reply-To: <a4a807e6-b477-40c3-ac42-2bef8dd82d7e@arm.com>
On 8/3/26 5:04 AM, Robin Murphy wrote:
> On 01/08/2026 12:28 am, Dave Jiang wrote:
>> info->irq means two different things depending on how far probe has got.
>> cxl_pmu_parse_caps() sets it to the MSI/MSI-X message number from the CPMU
>> Capability register. cxl_pmu_probe() passes that to pci_irq_vector() and
>> then overwrites it with the Linux virq, which is what the hotplug callbacks
>> hand to irq_set_affinity().
>>
>> Give the message number its own field. No functional change.
>
> Thanks, this makes it much less confusing;
>
> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
>
> If the fix itself was just the comparison operator then I'd suggest folding it in so as to avoid extra backporting dependencies/conflicts, but it sounds like we might have a corner case where 0 may still mean "no IRQ", so maybe sort that first then put this refactoring on top?
Will do. I'll flip the order.
DJ
>
> Cheers,
> Robin.
>
>> Assisted-by: Claude:claude-opus-4-8
>> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
>> ---
>> v3:
>> - New patch
>> ---
>> drivers/perf/cxl_pmu.c | 9 +++++----
>> 1 file changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/perf/cxl_pmu.c b/drivers/perf/cxl_pmu.c
>> index 3511d049aea4..56e6ae7bebf7 100644
>> --- a/drivers/perf/cxl_pmu.c
>> +++ b/drivers/perf/cxl_pmu.c
>> @@ -106,6 +106,7 @@ struct cxl_pmu_info {
>> int on_cpu;
>> struct hlist_node node;
>> bool filter_hdm;
>> + int msi_vec;
>> int irq;
>> };
>> @@ -143,9 +144,9 @@ static int cxl_pmu_parse_caps(struct device *dev, struct cxl_pmu_info *info)
>> info->filter_hdm = FIELD_GET(CXL_PMU_CAP_FILTERS_SUP_MSK, val) & CXL_PMU_FILTER_HDM;
>> if (FIELD_GET(CXL_PMU_CAP_INT, val))
>> - info->irq = FIELD_GET(CXL_PMU_CAP_MSI_N_MSK, val);
>> + info->msi_vec = FIELD_GET(CXL_PMU_CAP_MSI_N_MSK, val);
>> else
>> - info->irq = -1;
>> + info->msi_vec = -1;
>> /* First handle fixed function counters; note if configurable counters found */
>> for (i = 0; i < info->num_counters; i++) {
>> @@ -874,10 +875,10 @@ static int cxl_pmu_probe(struct device *dev)
>> .capabilities = PERF_PMU_CAP_NO_EXCLUDE,
>> };
>> - if (info->irq <= 0)
>> + if (info->msi_vec <= 0)
>> return -EINVAL;
>> - rc = pci_irq_vector(pdev, info->irq);
>> + rc = pci_irq_vector(pdev, info->msi_vec);
>> if (rc < 0)
>> return rc;
>> irq = rc;
>
next prev parent reply other threads:[~2026-08-03 16:01 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-31 23:28 [PATCH v3 0/9] perf/cxlpmu: Misc sashiko raised issues fixes Dave Jiang
2026-07-31 23:28 ` [PATCH v3 1/9] perf/cxl: Program the requested event group on configurable counters Dave Jiang
2026-07-31 23:38 ` sashiko-bot
2026-07-31 23:28 ` [PATCH v3 2/9] perf/cxl: Clear stale event fields before reprogramming a counter Dave Jiang
2026-07-31 23:40 ` sashiko-bot
2026-07-31 23:28 ` [PATCH v3 3/9] perf/cxl: Fix the counter overflow delta fixup Dave Jiang
2026-07-31 23:37 ` sashiko-bot
2026-07-31 23:28 ` [PATCH v3 4/9] perf/cxl: Split the MSI vector out of info->irq Dave Jiang
2026-07-31 23:45 ` sashiko-bot
2026-08-03 12:04 ` Robin Murphy
2026-08-03 16:01 ` Dave Jiang [this message]
2026-07-31 23:28 ` [PATCH v3 5/9] perf/cxl: Accept an overflow interrupt on MSI message number 0 Dave Jiang
2026-08-03 5:57 ` Richard Cheng
2026-08-03 14:30 ` Dave Jiang
2026-08-03 14:40 ` Richard Cheng
2026-07-31 23:28 ` [PATCH v3 6/9] perf/cxl: Don't share the overflow interrupt, and keep it pinned Dave Jiang
2026-07-31 23:50 ` sashiko-bot
2026-07-31 23:28 ` [PATCH v3 7/9] perf/cxl: Unfreeze counters after handling an overflow interrupt Dave Jiang
2026-07-31 23:40 ` sashiko-bot
2026-08-03 4:00 ` Richard Cheng
2026-08-03 11:26 ` Robin Murphy
2026-07-31 23:28 ` [PATCH v3 8/9] perf/cxl: Validate the hardware-reported counter width Dave Jiang
2026-07-31 23:28 ` [PATCH v3 9/9] perf/cxl: Don't log through pmu.dev in the overflow interrupt handler Dave Jiang
2026-07-31 23:46 ` sashiko-bot
2026-08-03 5:29 ` Richard Cheng
2026-08-03 16:39 ` Dave Jiang
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=ab9b7f3a-e2a5-4627-b2ac-d53ce3a82477@intel.com \
--to=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=jic23@kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robin.murphy@arm.com \
--cc=will@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.