From: Thomas Gleixner <tglx@linutronix.de>
To: Marc Zyngier <maz@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Bjorn Helgaas <helgaas@kernel.org>,
Alex Williamson <alex.williamson@redhat.com>,
Kevin Tian <kevin.tian@intel.com>,
Jason Gunthorpe <jgg@nvidia.com>, Megha Dey <megha.dey@intel.com>,
Ashok Raj <ashok.raj@intel.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Andrew Cooper <amc96@cam.ac.uk>, Juergen Gross <jgross@suse.com>,
linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [patch 03/10] genirq/msi: Make MSI descriptor alloc/free ready for range allocations
Date: Sun, 28 Nov 2021 20:17:56 +0100 [thread overview]
Message-ID: <87a6hof5sr.ffs@tglx> (raw)
In-Reply-To: <8735ngs26o.wl-maz@kernel.org>
On Sun, Nov 28 2021 at 15:57, Marc Zyngier wrote:
> On Sat, 27 Nov 2021 01:24:34 +0000,
> Thomas Gleixner <tglx@linutronix.de> wrote:
>
> The issue seems to be originating in the previous patch, where the
> following line was added:
>
> + struct msi_range range = { .first = 0, .last = UINT_MAX, .ndesc = nvec, };
>
> In that context, only 'ndesc' was used, and that was fine.
>
> However, in the current patch, ndesc use is removed, only first/last
> are considered, and UINT_MAX is... a lot of MSIs.
>
> This fixes it:
>
> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
> index bef5b74a7268..a520bfd94a56 100644
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -975,7 +975,7 @@ int msi_domain_alloc_irqs_descs_locked(struct irq_domain *domain, struct device
> */
> int msi_domain_alloc_irqs(struct irq_domain *domain, struct device *dev, int nvec)
> {
> - struct msi_range range = { .first = 0, .last = UINT_MAX, .ndesc = nvec, };
> + struct msi_range range = { .first = 0, .last = nvec - 1, .ndesc = nvec, };
> int ret;
>
> msi_lock_descs(dev);
>
> However, it'd be good to clarify the use of range->ndesc.
Hrm. The stupid search should terminated nevertheless. Let me stare at
it again.
>> -static int msi_add_simple_msi_descs(struct device *dev, unsigned int index, unsigned int ndesc)
>> +static int msi_add_simple_msi_descs(struct device *dev, struct msi_range *range)
>
> nit: most of the functions changed in this patch need to have their
> documentation tidied up.
Duh, yes.
Thanks,
tglx
next prev parent reply other threads:[~2021-11-28 19:19 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-27 1:24 [patch 00/10] genirq/msi, PCI/MSI: Support for dynamic MSI-X vector expansion - Part 4 Thomas Gleixner
2021-11-27 1:24 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 01/10] genirq/msi: Add range argument to alloc/free MSI domain ops Thomas Gleixner
2021-11-27 1:24 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 02/10] genirq/msi: Add range argument to msi_domain_alloc/free_descs_locked() Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 03/10] genirq/msi: Make MSI descriptor alloc/free ready for range allocations Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-28 15:57 ` Marc Zyngier
2021-11-28 19:17 ` Thomas Gleixner [this message]
2021-11-29 17:28 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 04/10] genirq/msi: Prepare MSI domain alloc/free for range irq allocation Thomas Gleixner
2021-11-27 1:24 ` Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 05/10] genirq/msi: Add domain info flag MSI_FLAG_CAN_EXPAND Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 06/10] PCI/MSI: Use range in allocation path Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 07/10] PCI/MSI: Make free related functions range based Thomas Gleixner
2021-11-27 1:24 ` Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 08/10] PCI/MSI: Provide pci_msi_domain_supports_expand() Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 09/10] PCI/MSI: Provide pci_msix_expand_vectors[_at]() Thomas Gleixner
2021-11-27 1:24 ` Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
2021-12-02 1:08 ` Dey, Megha
2021-12-02 10:16 ` Thomas Gleixner
2021-12-02 19:21 ` Raj, Ashok
2021-12-02 20:40 ` Thomas Gleixner
2021-12-03 0:45 ` Raj, Ashok
2021-12-03 12:29 ` Thomas Gleixner
2021-11-27 1:24 ` [patch 10/10] x86/apic/msi: Support MSI-X vector expansion Thomas Gleixner
2021-11-27 1:25 ` Thomas Gleixner
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=87a6hof5sr.ffs@tglx \
--to=tglx@linutronix.de \
--cc=alex.williamson@redhat.com \
--cc=amc96@cam.ac.uk \
--cc=ashok.raj@intel.com \
--cc=helgaas@kernel.org \
--cc=jgg@nvidia.com \
--cc=jgross@suse.com \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=maz@kernel.org \
--cc=megha.dey@intel.com \
--cc=mpe@ellerman.id.au \
--cc=xen-devel@lists.xenproject.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.