[PATCH v3 0/8] irq: core changes for x86 ioapic hotplug

From: Yinghai Lu
Date: Mon May 05 2014 - 21:35:49 EST


Hi,

These patches are core changes for x86 ioapic hotplug support.

First part for kill old irq_reserve_irqs:
During reviewing ioapic hotplug patchset, Thomas pointed out that
should not extend irq_reserve_irq for that purpose as that is not
actually reserve.
Neet to clean up old irq_reserve_irq before introduce reserve/alloc_reserved
method for ioapic hotplug.
So here patchset that kill irq_reserve_irq that actually set allocated_irqs.
First remove irq_reserve_irqs for x86, and remove irq_reserve_irq
for sh.
Then in set_irq_chip use irq_alloc_desc instead of irq_reserve_irq.
Next will mark bits in allocated_irqs early for init irqs in !SPARSE_IRQ

Second parts are new reserve/alloc_reserved functions:
It will introduce reserved_irqs bit maps to track reserved irqs.
New irq_alloc_reserved_desc() will only allocate desc when that irq
is reserved, at the same time irq_alloc_desc will only allocate desc
when irq is not reserved.

Thanks

Yinghai

-v2: add new reserve/alloc_reserved sets.
-v3: make irq_alloc_descs to avoid reserved irqs.

Yinghai Lu (8):
x86, irq: Remove not needed irq_reserve_irqs calling
sh, irq: Remove irq_reserve_irq calling
irq: Use irq_alloc_desc_at instead of irq_reserve_irq
s390: Mark bits in allocated_irqs in general code
irq: Kill irq_reserve_irq/irq_reserve_irqs
irq: Add new reserved_irqs clear/mark functions
irq: Add irq_alloc_reserved_desc()
irq: Do not free unallocated irq descriptors

arch/s390/kernel/irq.c | 6 +-
arch/x86/kernel/apic/io_apic.c | 3 -
drivers/sh/intc/core.c | 7 +-
include/linux/irq.h | 13 ++--
kernel/irq/chip.c | 14 ++--
kernel/irq/irqdesc.c | 144 ++++++++++++++++++++++++++++++++++-------
6 files changed, 141 insertions(+), 46 deletions(-)

--
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/