From: Thomas Gleixner <tglx@linutronix.de> To: "Jürgen Groß" <jgross@suse.com>, LKML <linux-kernel@vger.kernel.org> Cc: x86@kernel.org, linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org, Joerg Roedel <joro@8bytes.org>, iommu@lists.linux-foundation.org, linux-hyperv@vger.kernel.org, Haiyang Zhang <haiyangz@microsoft.com>, Jon Derrick <jonathan.derrick@intel.com>, Lu Baolu <baolu.lu@linux.intel.com>, Wei Liu <wei.liu@kernel.org>, "K. Y. Srinivasan" <kys@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>, Steve Wahl <steve.wahl@hpe.com>, Dimitri Sivanich <sivanich@hpe.com>, Russ Anderson <rja@hpe.com>, Bjorn Helgaas <bhelgaas@google.com>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>, Marc Zyngier <maz@kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Megha Dey <megha.dey@intel.com>, Jason Gunthorpe <jgg@mellanox.com>, Dave Jiang <dave.jiang@intel.com>, Alex Williamson <alex.williamson@redhat.com>, Jacob Pan <jacob.jun.pan@intel.com>, Baolu Lu <baolu.lu@intel.com>, Kevin Tian <kevin.tian@intel.com>, Dan Williams <dan.j.williams@intel.com> Subject: Re: [patch RFC 26/38] x86/xen: Wrap XEN MSI management into irqdomain Date: Tue, 25 Aug 2020 09:57:44 +0200 [thread overview] Message-ID: <87r1rv5f9j.fsf@nanos.tec.linutronix.de> (raw) In-Reply-To: <8860c7bc-67ab-ce64-0340-1458d2483a39@suse.com> On Mon, Aug 24 2020 at 08:21, Jürgen Groß wrote: > On 21.08.20 02:24, Thomas Gleixner wrote: > > Looking into https://www.kernel.org/doc/Documentation/IRQ-domain.txt (is > this still valid?) It's halfways correct. Emphasis on halfways. > I believe Xen should be able to use the "No Map" approach, as Xen only > ever uses software IRQs (at least those are the only ones visible to > any driver). The (virtualized) hardware interrupts are Xen events > after all. > > So maybe morphing Xen into supporting irqdomains in a sane way isn't > that complicated. Maybe I'm missing the main complexities, though. The wrapper domain I did is pretty much that, but with the extra functionality required by hierarchical irq domains. So, yes it's functionally correct, but it's only utilizing the alloc/free interface and not any of the other mechanisms provided by irqdomains. The latter should make the overall code simpler but that obviously needs some thought. Thanks, tglx
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de> To: "Jürgen Groß" <jgross@suse.com>, LKML <linux-kernel@vger.kernel.org> Cc: Dimitri Sivanich <sivanich@hpe.com>, linux-hyperv@vger.kernel.org, Steve Wahl <steve.wahl@hpe.com>, linux-pci@vger.kernel.org, "K. Y. Srinivasan" <kys@microsoft.com>, Dan Williams <dan.j.williams@intel.com>, Wei Liu <wei.liu@kernel.org>, Stephen Hemminger <sthemmin@microsoft.com>, Baolu Lu <baolu.lu@intel.com>, Marc Zyngier <maz@kernel.org>, x86@kernel.org, Jason Gunthorpe <jgg@mellanox.com>, Megha Dey <megha.dey@intel.com>, xen-devel@lists.xenproject.org, Kevin Tian <kevin.tian@intel.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Haiyang Zhang <haiyangz@microsoft.com>, Alex Williamson <alex.williamson@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, Dave Jiang <dave.jiang@intel.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, Jon Derrick <jonathan.derrick@intel.com>, Russ Anderson <rja@hpe.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, iommu@lists.linux-foundation.org, Jacob Pan <jacob.jun.pan@intel.com>, "Rafael J. Wysocki" <rafael@kernel.org> Subject: Re: [patch RFC 26/38] x86/xen: Wrap XEN MSI management into irqdomain Date: Tue, 25 Aug 2020 09:57:44 +0200 [thread overview] Message-ID: <87r1rv5f9j.fsf@nanos.tec.linutronix.de> (raw) In-Reply-To: <8860c7bc-67ab-ce64-0340-1458d2483a39@suse.com> On Mon, Aug 24 2020 at 08:21, Jürgen Groß wrote: > On 21.08.20 02:24, Thomas Gleixner wrote: > > Looking into https://www.kernel.org/doc/Documentation/IRQ-domain.txt (is > this still valid?) It's halfways correct. Emphasis on halfways. > I believe Xen should be able to use the "No Map" approach, as Xen only > ever uses software IRQs (at least those are the only ones visible to > any driver). The (virtualized) hardware interrupts are Xen events > after all. > > So maybe morphing Xen into supporting irqdomains in a sane way isn't > that complicated. Maybe I'm missing the main complexities, though. The wrapper domain I did is pretty much that, but with the extra functionality required by hierarchical irq domains. So, yes it's functionally correct, but it's only utilizing the alloc/free interface and not any of the other mechanisms provided by irqdomains. The latter should make the overall code simpler but that obviously needs some thought. Thanks, tglx _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2020-08-25 7:58 UTC|newest] Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-21 0:24 [patch RFC 00/38] x86, PCI, XEN, genirq ...: Prepare for device MSI Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 01/38] iommu/amd: Prevent NULL pointer dereference Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 02/38] x86/init: Remove unused init ops Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 03/38] x86/irq: Rename X86_IRQ_ALLOC_TYPE_MSI* to reflect PCI dependency Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 04/38] x86/irq: Add allocation type for parent domain retrieval Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 05/38] iommu/vt-d: Consolidate irq domain getter Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 06/38] iommu/amd: " Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 07/38] iommu/irq_remapping: Consolidate irq domain lookup Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 08/38] x86/irq: Prepare consolidation of irq_alloc_info Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 09/38] x86/msi: Consolidate HPET allocation Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 10/38] x86/ioapic: Consolidate IOAPIC allocation Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-26 8:40 ` Boqun Feng 2020-08-26 8:40 ` Boqun Feng 2020-08-26 8:40 ` Boqun Feng 2020-08-26 9:53 ` Thomas Gleixner 2020-08-26 9:53 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 11/38] x86/irq: Consolidate DMAR irq allocation Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 12/38] x86/irq: Consolidate UV domain allocation Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 13/38] PCI: MSI: Rework pci_msi_domain_calc_hwirq() Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-25 20:03 ` Bjorn Helgaas 2020-08-25 20:03 ` Bjorn Helgaas 2020-08-25 21:11 ` Thomas Gleixner 2020-08-25 21:11 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 14/38] x86/msi: Consolidate MSI allocation Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 15/38] x86/msi: Use generic MSI domain ops Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 16/38] x86/irq: Move apic_post_init() invocation to one place Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 17/38] x86/pci: Reducde #ifdeffery in PCI init code Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-25 20:20 ` Bjorn Helgaas 2020-08-25 20:20 ` Bjorn Helgaas 2020-08-21 0:24 ` [patch RFC 18/38] x86/irq: Initialize PCI/MSI domain at PCI init time Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 6:31 ` kernel test robot 2020-08-21 0:24 ` [patch RFC 19/38] irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 20/38] PCI: vmd: Mark VMD irqdomain with DOMAIN_BUS_VMD_MSI Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-25 20:04 ` Bjorn Helgaas 2020-08-25 20:04 ` Bjorn Helgaas 2020-08-21 0:24 ` [patch RFC 21/38] PCI: MSI: Provide pci_dev_has_special_msi_domain() helper Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-25 20:16 ` Bjorn Helgaas 2020-08-25 20:16 ` Bjorn Helgaas 2020-08-21 0:24 ` [patch RFC 22/38] x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init() Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-24 4:48 ` Jürgen Groß 2020-08-24 4:48 ` Jürgen Groß 2020-08-21 0:24 ` [patch RFC 23/38] x86/xen: Rework MSI teardown Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-24 5:09 ` Jürgen Groß 2020-08-24 5:09 ` Jürgen Groß 2020-08-21 0:24 ` [patch RFC 24/38] x86/xen: Consolidate XEN-MSI init Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-24 4:59 ` Jürgen Groß 2020-08-24 4:59 ` Jürgen Groß 2020-08-24 21:21 ` Thomas Gleixner 2020-08-24 21:21 ` Thomas Gleixner 2020-08-25 4:21 ` Jürgen Groß 2020-08-25 4:21 ` Jürgen Groß 2020-08-25 9:51 ` Thomas Gleixner 2020-08-25 9:51 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 25/38] irqdomain/msi: Allow to override msi_domain_alloc/free_irqs() Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 26/38] x86/xen: Wrap XEN MSI management into irqdomain Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-24 6:21 ` Jürgen Groß 2020-08-24 6:21 ` Jürgen Groß 2020-08-25 7:57 ` Thomas Gleixner [this message] 2020-08-25 7:57 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 27/38] iommm/vt-d: Store irq domain in struct device Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 7:03 ` kernel test robot 2020-08-21 0:24 ` [patch RFC 28/38] iommm/amd: " Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 29/38] x86/pci: Set default irq domain in pcibios_add_device() Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 30/38] PCI/MSI: Allow to disable arch fallbacks Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-25 20:07 ` Bjorn Helgaas 2020-08-25 20:07 ` Bjorn Helgaas 2020-08-25 21:28 ` Thomas Gleixner 2020-08-25 21:28 ` Thomas Gleixner 2020-08-25 21:35 ` Bjorn Helgaas 2020-08-25 21:35 ` Bjorn Helgaas 2020-08-25 21:40 ` Thomas Gleixner 2020-08-25 21:40 ` Thomas Gleixner 2020-08-25 22:03 ` Thomas Gleixner 2020-08-25 22:03 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 31/38] x86/irq: Cleanup the arch_*_msi_irqs() leftovers Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 32/38] x86/irq: Make most MSI ops XEN private Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 33/38] x86/irq: Add DEV_MSI allocation type Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:24 ` [patch RFC 34/38] x86/msi: Let pci_msi_prepare() handle non-PCI MSI Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-25 20:24 ` Bjorn Helgaas 2020-08-25 20:24 ` Bjorn Helgaas 2020-08-25 21:30 ` Thomas Gleixner 2020-08-25 21:30 ` Thomas Gleixner 2020-08-25 21:50 ` Bjorn Helgaas 2020-08-25 21:50 ` Bjorn Helgaas 2020-08-21 0:24 ` [patch RFC 35/38] platform-msi: Provide default irq_chip::ack Thomas Gleixner 2020-08-21 0:24 ` Thomas Gleixner 2020-08-21 0:25 ` [patch RFC 36/38] platform-msi: Add device MSI infrastructure Thomas Gleixner 2020-08-21 0:25 ` Thomas Gleixner 2020-08-21 0:25 ` [patch RFC 37/38] irqdomain/msi: Provide msi_alloc/free_store() callbacks Thomas Gleixner 2020-08-21 0:25 ` Thomas Gleixner 2020-08-21 0:25 ` [patch RFC 38/38] irqchip: Add IMS array driver - NOT FOR MERGING Thomas Gleixner 2020-08-21 0:25 ` Thomas Gleixner 2020-08-21 8:48 ` kernel test robot 2020-08-21 12:45 ` Jason Gunthorpe 2020-08-21 12:45 ` Jason Gunthorpe 2020-08-21 19:47 ` Thomas Gleixner 2020-08-21 19:47 ` Thomas Gleixner 2020-08-21 20:17 ` Jason Gunthorpe 2020-08-21 20:17 ` Jason Gunthorpe 2020-08-21 23:47 ` Thomas Gleixner 2020-08-21 23:47 ` Thomas Gleixner 2020-08-22 0:51 ` Jason Gunthorpe 2020-08-22 0:51 ` Jason Gunthorpe 2020-08-22 1:34 ` Thomas Gleixner 2020-08-22 1:34 ` Thomas Gleixner 2020-08-22 23:05 ` Jason Gunthorpe 2020-08-22 23:05 ` Jason Gunthorpe 2020-08-23 8:03 ` Thomas Gleixner 2020-08-23 8:03 ` Thomas Gleixner 2020-08-22 14:19 ` [patch RFC 00/38] x86, PCI, XEN, genirq ...: Prepare for device MSI Jürgen Groß 2020-08-22 14:19 ` Jürgen Groß
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=87r1rv5f9j.fsf@nanos.tec.linutronix.de \ --to=tglx@linutronix.de \ --cc=alex.williamson@redhat.com \ --cc=baolu.lu@intel.com \ --cc=baolu.lu@linux.intel.com \ --cc=bhelgaas@google.com \ --cc=boris.ostrovsky@oracle.com \ --cc=dan.j.williams@intel.com \ --cc=dave.jiang@intel.com \ --cc=gregkh@linuxfoundation.org \ --cc=haiyangz@microsoft.com \ --cc=iommu@lists.linux-foundation.org \ --cc=jacob.jun.pan@intel.com \ --cc=jgg@mellanox.com \ --cc=jgross@suse.com \ --cc=jonathan.derrick@intel.com \ --cc=joro@8bytes.org \ --cc=kevin.tian@intel.com \ --cc=konrad.wilk@oracle.com \ --cc=kys@microsoft.com \ --cc=linux-hyperv@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=maz@kernel.org \ --cc=megha.dey@intel.com \ --cc=rafael@kernel.org \ --cc=rja@hpe.com \ --cc=sivanich@hpe.com \ --cc=sstabellini@kernel.org \ --cc=steve.wahl@hpe.com \ --cc=sthemmin@microsoft.com \ --cc=wei.liu@kernel.org \ --cc=x86@kernel.org \ --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: linkBe 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.