]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cpu-migrate.patch
Revert "Move xen patchset to new version's subdir."
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / ppc-pseries-cpu-migrate.patch
diff --git a/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cpu-migrate.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cpu-migrate.patch
deleted file mode 100644 (file)
index e1c0de5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-Subject: Update default_server during migrate_irqs_away
-From: Milton Miller <miltonm@bga.com>
-References: 460566 - LTC50723
-
-Currently, every time we determine which irq server to use, we check if
-default_server, which is the id of the bootcpu, is still online.  But
-default_server is a hardware cpu, not the logical cpu id needed to index
-cpu_online_map.
-
-Since the default server can only go offline during a cpu hotplug event,
-explicitly check the default server and choose the new one when we move
-irqs away from the cpu being offlined.
-
-This has the added benefit of only needing the boot_cpuid to be updated
-and not relying on the cpu being marked offline during migrate_irqs_away.
-
-Also, since xics_update_irq_servers only reads device tree information, we
-can call it before xics_init_host in xics_init_IRQ and then default_server
-will always be valid when we can reach get_irq_server via the host ops.
-
-Signed-off-by: Milton Miller <miltonm@bga.com>
-Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Signed-off-by: Olaf Hering <olh@suse.de>
----
- arch/powerpc/platforms/pseries/xics.c |    9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
---- a/arch/powerpc/platforms/pseries/xics.c
-+++ b/arch/powerpc/platforms/pseries/xics.c
-@@ -208,9 +208,6 @@ static int get_irq_server(unsigned int v
-       cpumask_t cpumask = irq_desc[virq].affinity;
-       cpumask_t tmp = CPU_MASK_NONE;
--      if (! cpu_isset(default_server, cpu_online_map))
--              xics_update_irq_servers();
--
-       if (!distribute_irqs)
-               return default_server;
-@@ -659,8 +656,8 @@ void __init xics_init_IRQ(void)
-       if (found == 0)
-               return;
--      xics_init_host();
-       xics_update_irq_servers();
-+      xics_init_host();
-       if (firmware_has_feature(FW_FEATURE_LPAR))
-               ppc_md.get_irq = xics_get_irq_lpar;
-@@ -753,6 +750,10 @@ void xics_migrate_irqs_away(void)
-       int cpu = smp_processor_id(), hw_cpu = hard_smp_processor_id();
-       unsigned int irq, virq;
-+      /* If we used to be the default server, move to the new "boot_cpuid" */
-+      if (hw_cpu == default_server)
-+              xics_update_irq_servers();
-+
-       /* Reject any interrupt that was queued to us... */
-       xics_set_cpu_priority(0);