So seems another patch is needed to search all entries in the ioapics
array to find a free entry for real hot-added IOAPICs. Current
implementation can only support hot-replace scenario, but can't support
real hot-add. If needed, I will work out another patch to address that.
Gerry
On 2012-3-21 11:25, Yinghai Lu wrote:
On Tue, Mar 20, 2012 at 9:20 AM, Jiang Liu<liuj97@xxxxxxxxx> wrote:
Unused entries in ioapics array should be marked as free at startup,
so they could be used by hot-added IOAPICs.
Signed-off-by: Jiang Liu<jiang.liu@xxxxxxxxxx>
---
arch/x86/kernel/apic/io_apic.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 7412eb8..622374f 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -392,6 +392,10 @@ int __init arch_early_irq_init(void)
cpumask_set_cpu(0, cfg->domain);
}
+ /* Mark all left entries as free for IOAPIC hot-adding. */
+ for (i = nr_ioapics; i< MAX_IO_APICS; i++)
+ ioapics[i].mp_config.apicid = 0xff;
+
return 0;
}
this one looks like not needed, we did not search that after
nr_ioapics, and just use nr_ioapics if open spot is found.
Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html