All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	x86@kernel.org, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jason Gunthorpe <jgg@mellanox.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Logan Gunthorpe <logang@deltatee.com>,
	Ashok Raj <ashok.raj@intel.com>, Jon Mason <jdmason@kudzu.us>,
	Allen Hubbe <allenbh@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	linuxppc-dev@lists.ozlabs.org,
	"Ahmed S. Darwish" <darwi@linutronix.de>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [patch 05/39] genirq/msi: Remove filter from msi_free_descs_free_range()
Date: Wed, 1 Mar 2023 11:55:30 +0100	[thread overview]
Message-ID: <20230301115530.5ccea5ae@xps-13> (raw)
In-Reply-To: <20221111122013.888850936@linutronix.de>

Hi Thomas,

tglx@linutronix.de wrote on Fri, 11 Nov 2022 14:54:22 +0100 (CET):

> When a range of descriptors is freed then all of them are not associated to
> a linux interrupt. Remove the filter and add a warning to the free function.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---

[...]

> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -120,7 +120,7 @@ static int msi_add_simple_msi_descs(stru
>  fail_mem:
>  	ret = -ENOMEM;
>  fail:
> -	msi_free_msi_descs_range(dev, MSI_DESC_ALL, index, last);
> +	msi_free_msi_descs_range(dev, index, last);
>  	return ret;
>  }
>  
> @@ -141,12 +141,11 @@ static bool msi_desc_match(struct msi_de
>  /**
>   * msi_free_msi_descs_range - Free MSI descriptors of a device
>   * @dev:		Device to free the descriptors
> - * @filter:		Descriptor state filter
>   * @first_index:	Index to start freeing from
>   * @last_index:		Last index to be freed
>   */
> -void msi_free_msi_descs_range(struct device *dev, enum msi_desc_filter filter,
> -			      unsigned int first_index, unsigned int last_index)
> +void msi_free_msi_descs_range(struct device *dev, unsigned int first_index,
> +			      unsigned int last_index)
>  {
>  	struct xarray *xa = &dev->msi.data->__store;
>  	struct msi_desc *desc;
> @@ -155,10 +154,12 @@ void msi_free_msi_descs_range(struct dev
>  	lockdep_assert_held(&dev->msi.data->mutex);
>  
>  	xa_for_each_range(xa, idx, desc, first_index, last_index) {
> -		if (msi_desc_match(desc, filter)) {
> -			xa_erase(xa, idx);
> -			msi_free_desc(desc);
> -		}
> +		xa_erase(xa, idx);
> +
> +		/* Leak the descriptor when it is still referenced */
> +		if (WARN_ON_ONCE(msi_desc_match(desc, MSI_DESC_ASSOCIATED)))
> +			continue;
> +		msi_free_desc(desc);
>  	}
>  }

It looks like since this commit I am getting warnings upon EPROBE_DEFER
errors in the mvpp2 Marvell Ethernet driver. I looked a bit at the
internals to understand why this warning was shown, and it seems that
nothing "de-references" the descriptors, which would mean here:
resetting desc->irq to 0.

In my case I don't think the mvpp2_main.c driver nor the
irq_mvebu_icu.c driver behind do anything strange (as far as I
understand them). I believe any error during a ->probe() leading
to an irq_dispose_mapping() call with MSI behind will trigger that
warning.

I am wondering how useful thisd WARN_ON() is, or otherwise where the
desc->irq entry should be zeroed (if I understand that correctly), any
help will be appreciated.

Here is the splat:

[    2.045857] ------------[ cut here ]------------
[    2.050497] WARNING: CPU: 2 PID: 9 at kernel/irq/msi.c:197 msi_domain_free_descs+0x120/0x128
[    2.058993] Modules linked in:
[    2.062068] CPU: 2 PID: 9 Comm: kworker/u8:0 Not tainted 6.2.0-rc1+ #168
[    2.068804] Hardware name: Delta TN48M (DT)
[    2.073008] Workqueue: events_unbound deferred_probe_work_func
[    2.078878] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    2.085875] pc : msi_domain_free_descs+0x120/0x128
[    2.090693] lr : msi_domain_free_descs+0xe0/0x128
[    2.095423] sp : ffff80000a82b8d0
[    2.098745] x29: ffff80000a82b8d0 x28: 00007bfdbb508ca8 x27: ffff000102e28940
[    2.105921] x26: 0000000000000004 x25: ffff000100257660 x24: ffff800009a6b8d8
[    2.113096] x23: ffff800008a1c868 x22: ffff000102e4b700 x21: ffff000101494bb0
[    2.120270] x20: ffff80000a82b958 x19: ffff800009afe248 x18: 0000000000000010
[    2.127444] x17: fffffc0000fa4008 x16: 0000000000000008 x15: 000000000000013a
[    2.134618] x14: ffff80000a82b6a0 x13: 00000000ffffffea x12: ffff80000a82b870
[    2.141794] x11: 0000000000000002 x10: 0000000000000000 x9 : 0000000000000001
[    2.148967] x8 : 0000000000000000 x7 : 0000000000000238 x6 : ffff0001005f1230
[    2.156141] x5 : 0000000000000000 x4 : 0000200000000000 x3 : 0000000000000000
[    2.163315] x2 : b586accf01c45400 x1 : ffff0001000e0000 x0 : 000000000000002d
[    2.170489] Call trace:
[    2.172948]  msi_domain_free_descs+0x120/0x128
[    2.177417]  msi_domain_free_msi_descs_range+0x64/0x9c
[    2.182586]  platform_msi_device_domain_free+0x88/0xb8
[    2.187752]  mvebu_icu_irq_domain_free+0x60/0x80
[    2.192396]  irq_domain_free_irqs_hierarchy.part.21+0x94/0xa8
[    2.198173]  irq_domain_free_irqs+0xec/0x150
[    2.202466]  irq_dispose_mapping+0x104/0x120
[    2.206758]  mvpp2_probe+0x2028/0x21f8
[    2.210530]  platform_probe+0x68/0xd8
[    2.214210]  really_probe+0xbc/0x2a8
[    2.217807]  __driver_probe_device+0x78/0xe0
[    2.222102]  driver_probe_device+0x3c/0x108
[    2.226308]  __device_attach_driver+0xb8/0xf8
[    2.230690]  bus_for_each_drv+0x7c/0xd0
[    2.234547]  __device_attach+0xec/0x188
[    2.238404]  device_initial_probe+0x14/0x20
[    2.242611]  bus_probe_device+0x9c/0xa8
[    2.246468]  deferred_probe_work_func+0x88/0xc0
[    2.251024]  process_one_work+0x1fc/0x348
[    2.255056]  worker_thread+0x228/0x420
[    2.258825]  kthread+0x10c/0x118
[    2.262075]  ret_from_fork+0x10/0x20
[    2.265672] ---[ end trace 0000000000000000 ]---

Thanks,
Miquèl

WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-pci@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Will Deacon <will@kernel.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Ashok Raj <ashok.raj@intel.com>, Joerg Roedel <joro@8bytes.org>,
	x86@kernel.org, Jason Gunthorpe <jgg@mellanox.com>,
	Allen Hubbe <allenbh@gmail.com>,
	Kevin Tian <kevin.tian@intel.com>,
	"Ahmed S. Darwish" <darwi@linutronix.de>,
	Jon Mason <jdmason@kudzu.us>,
	linuxppc-dev@lists.ozlabs.org,
	Alex Williamson <alex.williamson@redhat.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Marc Zyngier <maz@kernel.org>,
	Logan Gunthorpe <logang@deltatee.com>
Subject: Re: [patch 05/39] genirq/msi: Remove filter from msi_free_descs_free_range()
Date: Wed, 1 Mar 2023 11:55:30 +0100	[thread overview]
Message-ID: <20230301115530.5ccea5ae@xps-13> (raw)
In-Reply-To: <20221111122013.888850936@linutronix.de>

Hi Thomas,

tglx@linutronix.de wrote on Fri, 11 Nov 2022 14:54:22 +0100 (CET):

> When a range of descriptors is freed then all of them are not associated to
> a linux interrupt. Remove the filter and add a warning to the free function.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---

[...]

> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -120,7 +120,7 @@ static int msi_add_simple_msi_descs(stru
>  fail_mem:
>  	ret = -ENOMEM;
>  fail:
> -	msi_free_msi_descs_range(dev, MSI_DESC_ALL, index, last);
> +	msi_free_msi_descs_range(dev, index, last);
>  	return ret;
>  }
>  
> @@ -141,12 +141,11 @@ static bool msi_desc_match(struct msi_de
>  /**
>   * msi_free_msi_descs_range - Free MSI descriptors of a device
>   * @dev:		Device to free the descriptors
> - * @filter:		Descriptor state filter
>   * @first_index:	Index to start freeing from
>   * @last_index:		Last index to be freed
>   */
> -void msi_free_msi_descs_range(struct device *dev, enum msi_desc_filter filter,
> -			      unsigned int first_index, unsigned int last_index)
> +void msi_free_msi_descs_range(struct device *dev, unsigned int first_index,
> +			      unsigned int last_index)
>  {
>  	struct xarray *xa = &dev->msi.data->__store;
>  	struct msi_desc *desc;
> @@ -155,10 +154,12 @@ void msi_free_msi_descs_range(struct dev
>  	lockdep_assert_held(&dev->msi.data->mutex);
>  
>  	xa_for_each_range(xa, idx, desc, first_index, last_index) {
> -		if (msi_desc_match(desc, filter)) {
> -			xa_erase(xa, idx);
> -			msi_free_desc(desc);
> -		}
> +		xa_erase(xa, idx);
> +
> +		/* Leak the descriptor when it is still referenced */
> +		if (WARN_ON_ONCE(msi_desc_match(desc, MSI_DESC_ASSOCIATED)))
> +			continue;
> +		msi_free_desc(desc);
>  	}
>  }

It looks like since this commit I am getting warnings upon EPROBE_DEFER
errors in the mvpp2 Marvell Ethernet driver. I looked a bit at the
internals to understand why this warning was shown, and it seems that
nothing "de-references" the descriptors, which would mean here:
resetting desc->irq to 0.

In my case I don't think the mvpp2_main.c driver nor the
irq_mvebu_icu.c driver behind do anything strange (as far as I
understand them). I believe any error during a ->probe() leading
to an irq_dispose_mapping() call with MSI behind will trigger that
warning.

I am wondering how useful thisd WARN_ON() is, or otherwise where the
desc->irq entry should be zeroed (if I understand that correctly), any
help will be appreciated.

Here is the splat:

[    2.045857] ------------[ cut here ]------------
[    2.050497] WARNING: CPU: 2 PID: 9 at kernel/irq/msi.c:197 msi_domain_free_descs+0x120/0x128
[    2.058993] Modules linked in:
[    2.062068] CPU: 2 PID: 9 Comm: kworker/u8:0 Not tainted 6.2.0-rc1+ #168
[    2.068804] Hardware name: Delta TN48M (DT)
[    2.073008] Workqueue: events_unbound deferred_probe_work_func
[    2.078878] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    2.085875] pc : msi_domain_free_descs+0x120/0x128
[    2.090693] lr : msi_domain_free_descs+0xe0/0x128
[    2.095423] sp : ffff80000a82b8d0
[    2.098745] x29: ffff80000a82b8d0 x28: 00007bfdbb508ca8 x27: ffff000102e28940
[    2.105921] x26: 0000000000000004 x25: ffff000100257660 x24: ffff800009a6b8d8
[    2.113096] x23: ffff800008a1c868 x22: ffff000102e4b700 x21: ffff000101494bb0
[    2.120270] x20: ffff80000a82b958 x19: ffff800009afe248 x18: 0000000000000010
[    2.127444] x17: fffffc0000fa4008 x16: 0000000000000008 x15: 000000000000013a
[    2.134618] x14: ffff80000a82b6a0 x13: 00000000ffffffea x12: ffff80000a82b870
[    2.141794] x11: 0000000000000002 x10: 0000000000000000 x9 : 0000000000000001
[    2.148967] x8 : 0000000000000000 x7 : 0000000000000238 x6 : ffff0001005f1230
[    2.156141] x5 : 0000000000000000 x4 : 0000200000000000 x3 : 0000000000000000
[    2.163315] x2 : b586accf01c45400 x1 : ffff0001000e0000 x0 : 000000000000002d
[    2.170489] Call trace:
[    2.172948]  msi_domain_free_descs+0x120/0x128
[    2.177417]  msi_domain_free_msi_descs_range+0x64/0x9c
[    2.182586]  platform_msi_device_domain_free+0x88/0xb8
[    2.187752]  mvebu_icu_irq_domain_free+0x60/0x80
[    2.192396]  irq_domain_free_irqs_hierarchy.part.21+0x94/0xa8
[    2.198173]  irq_domain_free_irqs+0xec/0x150
[    2.202466]  irq_dispose_mapping+0x104/0x120
[    2.206758]  mvpp2_probe+0x2028/0x21f8
[    2.210530]  platform_probe+0x68/0xd8
[    2.214210]  really_probe+0xbc/0x2a8
[    2.217807]  __driver_probe_device+0x78/0xe0
[    2.222102]  driver_probe_device+0x3c/0x108
[    2.226308]  __device_attach_driver+0xb8/0xf8
[    2.230690]  bus_for_each_drv+0x7c/0xd0
[    2.234547]  __device_attach+0xec/0x188
[    2.238404]  device_initial_probe+0x14/0x20
[    2.242611]  bus_probe_device+0x9c/0xa8
[    2.246468]  deferred_probe_work_func+0x88/0xc0
[    2.251024]  process_one_work+0x1fc/0x348
[    2.255056]  worker_thread+0x228/0x420
[    2.258825]  kthread+0x10c/0x118
[    2.262075]  ret_from_fork+0x10/0x20
[    2.265672] ---[ end trace 0000000000000000 ]---

Thanks,
Miquèl

  parent reply	other threads:[~2023-03-01 10:55 UTC|newest]

Thread overview: 283+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11 13:54 [patch 00/39] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 1 cleanups Thomas Gleixner
2022-11-11 13:54 ` Thomas Gleixner
2022-11-11 13:54 ` [patch 01/39] PCI/MSI: Check for MSI enabled in __pci_msix_enable() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 15:39   ` Ashok Raj
2022-11-16 15:39     ` Ashok Raj
2022-11-17 13:07     ` Thomas Gleixner
2022-11-17 13:07       ` Thomas Gleixner
2022-11-17 14:00       ` Ashok Raj
2022-11-17 14:00         ` Ashok Raj
2022-11-16 16:35   ` Bjorn Helgaas
2022-11-16 16:35     ` Bjorn Helgaas
2022-11-16 17:43   ` Jason Gunthorpe
2022-11-16 17:43     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-18  7:35   ` [patch 01/39] " Tian, Kevin
2022-11-18  7:35     ` Tian, Kevin
2022-11-11 13:54 ` [patch 02/39] iommu/vt-d: Remove bogus check for multi MSI-X Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 15:52   ` Ashok Raj
2022-11-16 15:52     ` Ashok Raj
2022-11-16 17:02     ` Thomas Gleixner
2022-11-16 17:02       ` Thomas Gleixner
2022-11-16 17:39       ` Ashok Raj
2022-11-16 17:39         ` Ashok Raj
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 03/39] iommu/amd: " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:02   ` Ashok Raj
2022-11-16 16:02     ` Ashok Raj
2022-11-16 17:03     ` Thomas Gleixner
2022-11-16 17:03       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 04/39] genirq/msi: Use MSI_DESC_ALL in msi_add_simple_msi_descs() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:12   ` Ashok Raj
2022-11-16 16:12     ` Ashok Raj
2022-11-16 17:43   ` Jason Gunthorpe
2022-11-16 17:43     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 05/39] genirq/msi: Remove filter from msi_free_descs_free_range() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:43   ` Jason Gunthorpe
2022-11-16 17:43     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2023-03-01 10:55   ` Miquel Raynal [this message]
2023-03-01 10:55     ` [patch 05/39] " Miquel Raynal
2023-03-01 21:07     ` Thomas Gleixner
2023-03-01 21:07       ` Thomas Gleixner
2023-03-02 14:43       ` Miquel Raynal
2023-03-02 14:43         ` Miquel Raynal
2023-03-02 17:22       ` [tip: irq/urgent] genirq/msi, platform-msi: Ensure that MSI descriptors are unreferenced tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 06/39] genirq/msi: Add missing kernel doc to msi_next_desc() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:44   ` Jason Gunthorpe
2022-11-16 17:44     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 07/39] genirq/msi: Make __msi_domain_alloc_irqs() static Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:44   ` Jason Gunthorpe
2022-11-16 17:44     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 08/39] genirq/msi: Provide msi_domain_ops::post_free() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:44   ` Jason Gunthorpe
2022-11-16 17:44     ` Jason Gunthorpe
2022-11-16 22:48     ` Thomas Gleixner
2022-11-16 22:48       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] genirq/msi: Provide msi_domain_ops:: Post_free() tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 09/39] powerpc/pseries/msi: Use msi_domain_ops::msi_post_free() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:45   ` Jason Gunthorpe
2022-11-16 17:45     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] powerpc/pseries/msi: Use msi_domain_ops:: Msi_post_free() tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 10/39] genirq/msi: Make __msi_domain_free_irqs() static Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:46   ` Jason Gunthorpe
2022-11-16 17:46     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 11/39] genirq/irqdomain: Move bus token enum into a seperate header Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:02   ` Ashok Raj
2022-11-16 17:02     ` Ashok Raj
2022-11-16 17:48   ` Jason Gunthorpe
2022-11-16 17:48     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 12/39] genirq/msi: Add bus token to struct msi_domain_info Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:49   ` Jason Gunthorpe
2022-11-16 17:49     ` Jason Gunthorpe
2022-11-16 22:50     ` Thomas Gleixner
2022-11-16 22:50       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 13/39] PCI/MSI: Use msi_domain_info::bus_token Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:14   ` Bjorn Helgaas
2022-11-16 16:14     ` Bjorn Helgaas
2022-11-16 17:51   ` Jason Gunthorpe
2022-11-16 17:51     ` Jason Gunthorpe
2022-11-16 22:51     ` Thomas Gleixner
2022-11-16 22:51       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] PCI/MSI: Use msi_domain_info:: Bus_token tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 14/39] PCI/MSI: Let the MSI core free descriptors Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:15   ` Bjorn Helgaas
2022-11-16 16:15     ` Bjorn Helgaas
2022-11-16 17:53   ` Jason Gunthorpe
2022-11-16 17:53     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 15/39] PCI/MSI: Get rid of PCI_MSI_IRQ_DOMAIN Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:12   ` Bjorn Helgaas
2022-11-16 16:12     ` Bjorn Helgaas
2022-11-16 17:04     ` Thomas Gleixner
2022-11-16 17:04       ` Thomas Gleixner
2022-11-16 17:53   ` Jason Gunthorpe
2022-11-16 17:53     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 16/39] genirq: Get rid of GENERIC_MSI_IRQ_DOMAIN Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:54   ` Jason Gunthorpe
2022-11-16 17:54     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2023-01-13 12:17     ` [PATCH] irqchip/imx: Do not unconditionally enable GENERIC_MSI_IRQ Ingo Molnar
2023-01-17  9:25       ` Thomas Gleixner
2022-11-11 13:54 ` [patch 17/39] PCI/MSI: Get rid of externs in msi.h Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:15   ` Bjorn Helgaas
2022-11-16 16:15     ` Bjorn Helgaas
2022-11-16 17:54   ` Jason Gunthorpe
2022-11-16 17:54     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 18/39] PCI/MSI: Move mask and unmask helpers to msi.h Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:16   ` Bjorn Helgaas
2022-11-16 16:16     ` Bjorn Helgaas
2022-11-16 17:55   ` Jason Gunthorpe
2022-11-16 17:55     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 19/39] PCI/MSI: Move pci_disable_msi() to api.c Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:16   ` Bjorn Helgaas
2022-11-16 16:16     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 20/39] PCI/MSI: Move pci_enable_msi() API " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:18   ` Bjorn Helgaas
2022-11-16 16:18     ` Bjorn Helgaas
2022-11-16 17:05     ` Thomas Gleixner
2022-11-16 17:05       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 21/39] PCI/MSI: Move pci_enable_msix_range() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:20   ` Bjorn Helgaas
2022-11-16 16:20     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 22/39] PCI/MSI: Move pci_alloc_irq_vectors() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:22   ` Bjorn Helgaas
2022-11-16 16:22     ` Bjorn Helgaas
2022-11-16 17:06     ` Thomas Gleixner
2022-11-16 17:06       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 23/39] PCI/MSI: Move pci_alloc_irq_vectors_affinity() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:23   ` Bjorn Helgaas
2022-11-16 16:23     ` Bjorn Helgaas
2022-11-16 17:07     ` Thomas Gleixner
2022-11-16 17:07       ` Thomas Gleixner
2022-11-18 12:34     ` Ahmed S. Darwish
2022-11-18 12:34       ` Ahmed S. Darwish
2022-11-18 12:58       ` Peter Zijlstra
2022-11-18 12:58         ` Peter Zijlstra
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 24/39] PCI/MSI: Move pci_irq_vector() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:23   ` Bjorn Helgaas
2022-11-16 16:23     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 25/39] PCI/MSI: Move pci_free_irq_vectors() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:24   ` Bjorn Helgaas
2022-11-16 16:24     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 26/39] PCI/MSI: Move pci_msix_vec_count() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:24   ` Bjorn Helgaas
2022-11-16 16:24     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 27/39] PCI/MSI: Move pci_disable_msix() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:26   ` Bjorn Helgaas
2022-11-16 16:26     ` Bjorn Helgaas
2022-11-16 17:09     ` Thomas Gleixner
2022-11-16 17:09       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 28/39] PCI/MSI: Move pci_irq_get_affinity() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:35   ` Bjorn Helgaas
2022-11-16 16:35     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 29/39] PCI/MSI: Move pci_msi_enabled() " Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:26   ` Bjorn Helgaas
2022-11-16 16:26     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 30/39] PCI/MSI: Move pci_msi_restore_state() " Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:27   ` Bjorn Helgaas
2022-11-16 16:27     ` Bjorn Helgaas
2022-11-16 17:42   ` Jason Gunthorpe
2022-11-16 17:42     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 31/39] Documentation: PCI: Add reference to PCI/MSI device driver APIs Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:27   ` Bjorn Helgaas
2022-11-16 16:27     ` Bjorn Helgaas
2022-11-16 17:31   ` Jason Gunthorpe
2022-11-16 17:31     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 32/39] PCI/MSI: Reorder functions in msi.c Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:28   ` Bjorn Helgaas
2022-11-16 16:28     ` Bjorn Helgaas
2022-11-16 17:10     ` Thomas Gleixner
2022-11-16 17:10       ` Thomas Gleixner
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 33/39] PCI/MSI: Sanitize MSI-X checks Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:29   ` Bjorn Helgaas
2022-11-16 16:29     ` Bjorn Helgaas
2022-11-16 17:57   ` Jason Gunthorpe
2022-11-16 17:57     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-18  7:38   ` [patch 33/39] " Tian, Kevin
2022-11-18  7:38     ` Tian, Kevin
2022-11-11 13:55 ` [patch 34/39] PCI/MSI: Reject multi-MSI early Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:31   ` Bjorn Helgaas
2022-11-16 16:31     ` Bjorn Helgaas
2022-11-17  8:22     ` Thomas Gleixner
2022-11-17  8:22       ` Thomas Gleixner
2022-11-16 17:59   ` Jason Gunthorpe
2022-11-16 17:59     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 35/39] PCI/MSI: Reject MSI-X early Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:31   ` Bjorn Helgaas
2022-11-16 16:31     ` Bjorn Helgaas
2022-11-16 18:00   ` Jason Gunthorpe
2022-11-16 18:00     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2023-01-15 22:14   ` [PATCH] x86/xen: Set MSI_FLAG_PCI_MSIX support in Xen MSI domain David Woodhouse
2023-01-15 22:14     ` David Woodhouse
2023-01-16 19:43     ` [tip: x86/urgent] x86/pci/xen: " tip-bot2 for David Woodhouse
2022-11-11 13:55 ` [patch 36/39] PCI/MSI: Validate MSIX contiguous restriction early Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:33   ` Bjorn Helgaas
2022-11-16 16:33     ` Bjorn Helgaas
2022-11-16 18:00   ` Jason Gunthorpe
2022-11-16 18:00     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] PCI/MSI: Validate MSI-X " tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 37/39] PCI/MSI: Remove redundant msi_check() callback Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:34   ` Bjorn Helgaas
2022-11-16 16:34     ` Bjorn Helgaas
2022-11-16 18:01   ` Jason Gunthorpe
2022-11-16 18:01     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 38/39] genirq/msi: Remove msi_domain_ops::msi_check() Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 18:01   ` Jason Gunthorpe
2022-11-16 18:01     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] genirq/msi: Remove msi_domain_ops:: Msi_check() tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 39/39] x86/apic: Remove X86_IRQ_ALLOC_CONTIGUOUS_VECTORS Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 18:05   ` Jason Gunthorpe
2022-11-16 18:05     ` Jason Gunthorpe
2022-11-17 15:00     ` Thomas Gleixner
2022-11-17 15:00       ` Thomas Gleixner
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-18  7:40 ` [patch 00/39] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 1 cleanups Tian, Kevin
2022-11-18  7:40   ` Tian, Kevin

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=20230301115530.5ccea5ae@xps-13 \
    --to=miquel.raynal@bootlin.com \
    --cc=alex.williamson@redhat.com \
    --cc=allenbh@gmail.com \
    --cc=ashok.raj@intel.com \
    --cc=bhelgaas@google.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dan.j.williams@intel.com \
    --cc=darwi@linutronix.de \
    --cc=dave.jiang@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jdmason@kudzu.us \
    --cc=jgg@mellanox.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=logang@deltatee.com \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=maz@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=reinette.chatre@intel.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=will@kernel.org \
    --cc=x86@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.