From: Yinghai Lu <yinghai@kernel.org> To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>, Tony Luck <tony.luck@intel.com>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J. Wysocki" <rjw@sisk.pl> Cc: xen-devel@lists.xensource.com, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, Yinghai Lu <yinghai@kernel.org> Subject: [PATCH v5 16/33] xen, irq: Call irq_alloc_reserved_desc_at() at first Date: Thu, 2 Jan 2014 16:05:48 -0800 [thread overview] Message-ID: <1388707565-16535-17-git-send-email-yinghai@kernel.org> (raw) In-Reply-To: <1388707565-16535-1-git-send-email-yinghai@kernel.org> To make x86 irq allocation to be same with booting path and ioapic hot add path, We will pre-reserve irq for all gsi at first. We have to use alloc_reserved here, otherwise irq_alloc_desc_at will fail because bit is already get marked for pre-reserved in irq bitmaps. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: xen-devel@lists.xensource.com --- drivers/xen/events.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 4035e83..020cd77 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -508,8 +508,12 @@ static int __must_check xen_allocate_irq_gsi(unsigned gsi) /* Legacy IRQ descriptors are already allocated by the arch. */ if (gsi < NR_IRQS_LEGACY) irq = gsi; - else - irq = irq_alloc_desc_at(gsi, -1); + else { + /* for x86, irq already get reserved for gsi */ + irq = irq_alloc_reserved_desc_at(gsi, -1); + if (irq < 0) + irq = irq_alloc_desc_at(gsi, -1); + } xen_irq_init(irq); -- 1.8.4
WARNING: multiple messages have this Message-ID (diff)
From: Yinghai Lu <yinghai@kernel.org> To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>, Tony Luck <tony.luck@intel.com>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J. Wysocki" <rjw@sisk.pl> Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, Yinghai Lu <yinghai@kernel.org>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, xen-devel@lists.xensource.com Subject: [PATCH v5 16/33] xen, irq: Call irq_alloc_reserved_desc_at() at first Date: Thu, 2 Jan 2014 16:05:48 -0800 [thread overview] Message-ID: <1388707565-16535-17-git-send-email-yinghai@kernel.org> (raw) In-Reply-To: <1388707565-16535-1-git-send-email-yinghai@kernel.org> To make x86 irq allocation to be same with booting path and ioapic hot add path, We will pre-reserve irq for all gsi at first. We have to use alloc_reserved here, otherwise irq_alloc_desc_at will fail because bit is already get marked for pre-reserved in irq bitmaps. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: xen-devel@lists.xensource.com --- drivers/xen/events.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 4035e83..020cd77 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -508,8 +508,12 @@ static int __must_check xen_allocate_irq_gsi(unsigned gsi) /* Legacy IRQ descriptors are already allocated by the arch. */ if (gsi < NR_IRQS_LEGACY) irq = gsi; - else - irq = irq_alloc_desc_at(gsi, -1); + else { + /* for x86, irq already get reserved for gsi */ + irq = irq_alloc_reserved_desc_at(gsi, -1); + if (irq < 0) + irq = irq_alloc_desc_at(gsi, -1); + } xen_irq_init(irq); -- 1.8.4
next prev parent reply other threads:[~2014-01-03 0:05 UTC|newest] Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-01-03 0:05 [PATCH v5 00/33] x86, irq: Support ioapic controller hotplug Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 01/33] genirq: Split __irq_reserve_irqs from irq_alloc_descs Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 02/33] genirq: Add irq_alloc_reserved_desc() Yinghai Lu 2014-01-23 0:03 ` Thomas Gleixner 2014-02-18 0:59 ` Yinghai Lu 2014-02-22 10:08 ` Thomas Gleixner 2014-02-22 17:28 ` Yinghai Lu 2014-02-22 22:05 ` Yinghai Lu 2014-02-22 23:38 ` Thomas Gleixner 2014-02-25 1:31 ` Yinghai Lu 2014-02-21 6:45 ` Jiang Liu 2014-01-03 0:05 ` [PATCH v5 03/33] genirq: Do not free unallocated irq descriptors Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 04/33] x86, irq: Change irq_remap_modify_chip_defaults() to static Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 05/33] x86, irq: Modify irq chip once for irq remapping Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 06/33] x86, irq: Show MSI-X clearly in debug message Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 07/33] x86, irq: Show MSI-X in /proc/interrupt Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 08/33] x86, irq: Make dmar_msi/hpet_msi irq_chip name consistent Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 09/33] ia64, irq: Add dummy create_irq_nr() Yinghai Lu 2014-01-03 0:05 ` Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node Yinghai Lu 2014-02-21 7:43 ` Jiang Liu 2014-02-21 23:18 ` Yinghai Lu 2014-02-22 3:14 ` Jiang Liu 2014-02-22 7:44 ` Yinghai Lu 2014-02-22 15:33 ` Jiang Liu 2014-02-22 17:30 ` Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 11/33] x86, irq: Kill create_irq() Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 12/33] x86, irq: Convert irq_2_pin list to generic list Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 13/33] x86, irq: Add alloc_reserved_irq_and_cfg_at() Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 14/33] x86, irq: Move down arch_early_irq_init() Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 15/33] x86, irq: Split out alloc_ioapic_save_registers() Yinghai Lu 2014-01-03 0:05 ` Yinghai Lu [this message] 2014-01-03 0:05 ` [PATCH v5 16/33] xen, irq: Call irq_alloc_reserved_desc_at() at first Yinghai Lu 2014-01-03 17:50 ` [Xen-devel] " Stefano Stabellini 2014-01-03 17:50 ` Stefano Stabellini 2014-01-06 20:00 ` Yinghai Lu 2014-01-07 13:30 ` Stefano Stabellini 2014-01-03 0:05 ` [PATCH v5 17/33] x86, irq: Reserve irq range and alloc_reserved for booting path Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 18/33] x86, irq: Add ioapic_gsi_to_irq Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 19/33] x86, irq: Add for_each_ioapic helper Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 20/33] x86, irq: More strict checking about registering ioapic Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 21/33] x86, irq: Make mp_register_ioapic handle hot-added ioapic Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 22/33] x86, irq: Add mp_unregister_ioapic to handle hot-remove ioapic Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 23/33] x86, ioapic: Find usable ioapic id for 64bit Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 24/33] x86: Move declaration for mp_register_ioapic() Yinghai Lu 2014-01-03 21:24 ` Bjorn Helgaas 2014-01-06 22:30 ` Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 25/33] PCI, x86: Make ioapic hotplug support built-in Yinghai Lu 2014-01-03 22:47 ` Bjorn Helgaas 2014-01-06 22:47 ` Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 26/33] ACPI: Make map_mat_entry handle x2apic entry Yinghai Lu 2014-01-03 0:05 ` [PATCH v5 27/33] ACPI: Move acpi_get_cpuid() to separated file Yinghai Lu 2014-01-03 0:06 ` [PATCH v5 28/33] ACPI, ioapic: Add acpi_get_ioapic_id() Yinghai Lu 2014-01-03 0:06 ` [PATCH v5 29/33] PCI, x86, ACPI: Link acpi ioapic register to ioapic Yinghai Lu 2014-01-03 0:06 ` [PATCH v5 30/33] PCI, x86, ACPI: Enable ioapic hotplug support with acpi host bridge Yinghai Lu 2014-01-03 22:39 ` Bjorn Helgaas 2014-01-03 0:06 ` [PATCH v5 31/33] ACPI, x86/PCI: Move resource_to_addr() to acpi generic Yinghai Lu 2014-01-03 0:06 ` [PATCH v5 32/33] PCI, x86, ACPI: get ioapic address from acpi device Yinghai Lu 2014-01-03 0:06 ` [PATCH v5 33/33] x86, ioapic: Hotadd of IOAPICs described in static MADT Yinghai Lu
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=1388707565-16535-17-git-send-email-yinghai@kernel.org \ --to=yinghai@kernel.org \ --cc=bhelgaas@google.com \ --cc=hpa@zytor.com \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=mingo@elte.hu \ --cc=rjw@sisk.pl \ --cc=tglx@linutronix.de \ --cc=tony.luck@intel.com \ --cc=xen-devel@lists.xensource.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: 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.