diff for duplicates of <1295264509.30950.59.camel@laptop> diff --git a/a/1.txt b/N1/1.txt index 764b956..7277882 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -9,7 +9,7 @@ bounces) --- Subject: sched: provide scheduler_ipi() callback in response to smp_send_reschedule() -From: Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> +From: Peter Zijlstra <peterz@infradead.org> Date: Mon, 17 Jan 2011 12:07:13 +0100 For future rework of try_to_wake_up() we'd like to push part of that @@ -26,7 +26,7 @@ I'm not quite sure I actually got all of them. Also, while reading through all this, I noticed the blackfin SMP code looks to be broken, it simply discards any IPI when low on memory. -Signed-off-by: Peter Zijlstra <a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org> +Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> --- arch/alpha/kernel/smp.c | 3 +-- diff --git a/a/content_digest b/N1/content_digest index 9077b09..9e109d4 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,34 +1,56 @@ "ref\01295262433.30950.53.camel@laptop\0" "ref\020110117112637.GA18599@n2100.arm.linux.org.uk\0" "ref\01295263884.30950.54.camel@laptop\0" - "From\0Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>\0" + "From\0Peter Zijlstra <peterz@infradead.org>\0" "Subject\0Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()\0" "Date\0Mon, 17 Jan 2011 12:41:49 +0100\0" - "To\0Russell King - ARM Linux <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>\0" - "Cc\0linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org" - linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - Benjamin Herrenschmidt <benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org> - Heiko Carstens <heiko.carstens-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org> - James E.J. Bottomley <jejb-6jwH94ZQLHl74goWV3ctuw@public.gmane.org> - David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> - Paul Mackerras <paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org> - H. Peter Anvin <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org> - sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - Ralf-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - Linux-Arch <linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> - Jesper-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - Mike-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - Jeremy Fitzhardinge <jeremy.fitzhardinge-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org> - Hirokazu Takata <takata-TMSiXQfHlQjsTix1lMzHGQ@public.gmane.org> - x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org - Koichi-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - virtualization-qjLDD68F18O7TbgM5vRIOg@public.gmane.org - Ingo Molnar <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> - Matt Turner <mattst88-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Yu <fenghua.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> - Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> - " user-mo\0" + "To\0Russell King - ARM Linux <linux@arm.linux.org.uk>\0" + "Cc\0Richard Henderson <rth@twiddle.net>" + Ivan Kokshaysky <ink@jurassic.park.msu.ru> + Matt Turner <mattst88@gmail.com> + Mike Frysinger <vapier@gentoo.org> + Mikael Starvik <starvik@axis.com> + Jesper Nilsson <jesper.nilsson@axis.com> + Tony Luck <tony.luck@intel.com> + Fenghua Yu <fenghua.yu@intel.com> + Hirokazu Takata <takata@linux-m32r.org> + Ralf Baechle <ralf@linux-mips.org> + David Howells <dhowells@redhat.com> + Koichi Yasutake <yasutake.koichi@jp.panasonic.com> + Kyle McMartin <kyle@mcmartin.ca> + Helge Deller <deller@gmx.de> + James E.J. Bottomley <jejb@parisc-linux.org> + Benjamin Herrenschmidt <benh@kernel.crashing.org> + Paul Mackerras <paulus@samba.org> + Martin Schwidefsky <schwidefsky@de.ibm.com> + Heiko Carstens <heiko.carstens@de.ibm.com> + linux390@de.ibm.com + Paul Mundt <lethal@linux-sh.org> + David S. Miller <davem@davemloft.net> + Chris Metcalf <cmetcalf@tilera.com> + Jeff Dike <jdike@addtoit.com> + Thomas Gleixner <tglx@linutronix.de> + Ingo Molnar <mingo@redhat.com> + H. Peter Anvin <hpa@zytor.com> + x86@kernel.org + Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> + Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> + linux-alpha@vger.kernel.org + linux-kernel@vger.kernel.org + uclinux-dist-devel@blackfin.uclinux.org + linux-cris-kernel@axis.com + linux-ia64@vger.kernel.org + linux-mips@linux-mips.org + linux-parisc@vger.kernel.org + linuxppc-dev@lists.ozlabs.org + linux-s390@vger.kernel.org + linux-sh@vger.kernel.org + sparclinux@vger.kernel.org + user-mode-linux-devel@lists.sourceforge.net + user-mode-linux-user@lists.sourceforge.net + xen-devel@lists.xensource.com + virtualization@lists.osdl.org + " Linux-Arch <linux-arch@vger.kernel.org>\0" "\00:1\0" "b\0" "On Mon, 2011-01-17 at 12:31 +0100, Peter Zijlstra wrote:\n" @@ -42,7 +64,7 @@ "\n" "---\n" "Subject: sched: provide scheduler_ipi() callback in response to smp_send_reschedule()\n" - "From: Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>\n" + "From: Peter Zijlstra <peterz@infradead.org>\n" "Date: Mon, 17 Jan 2011 12:07:13 +0100\n" "\n" "For future rework of try_to_wake_up() we'd like to push part of that\n" @@ -59,7 +81,7 @@ "Also, while reading through all this, I noticed the blackfin SMP code\n" "looks to be broken, it simply discards any IPI when low on memory.\n" "\n" - "Signed-off-by: Peter Zijlstra <a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org>\n" + "Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\n" "LKML-Reference: <new-submission>\n" "---\n" " arch/alpha/kernel/smp.c | 3 +--\n" @@ -507,4 +529,4 @@ " #else\n" static inline unsigned long wait_task_inactive(struct task_struct *p, -7fcbd8409df2c01400e5d4b40c83a817048fa7fe79c40ce9026b817fe48f2e7b +c26ee696505ef04a77757a71a1ba9c6bd27f6ef1aae7a2f778f87fcf9cfe561b
diff --git a/a/1.txt b/N2/1.txt index 764b956..618420a 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,15 +1,17 @@ On Mon, 2011-01-17 at 12:31 +0100, Peter Zijlstra wrote: > On Mon, 2011-01-17 at 11:26 +0000, Russell King - ARM Linux wrote: -> > Maybe remove the comment "everything is done on the interrupt return path" +> > Maybe remove the comment "everything is done on the interrupt return pa= +th" > > as with this function call, that is no longer the case. (Removed am33, m32r-ka, m32r, arm-kernel lists because they kept sending bounces) --- -Subject: sched: provide scheduler_ipi() callback in response to smp_send_reschedule() -From: Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> +Subject: sched: provide scheduler_ipi() callback in response to smp_send_re= +schedule() +From: Peter Zijlstra <peterz@infradead.org> Date: Mon, 17 Jan 2011 12:07:13 +0100 For future rework of try_to_wake_up() we'd like to push part of that @@ -26,7 +28,7 @@ I'm not quite sure I actually got all of them. Also, while reading through all this, I noticed the blackfin SMP code looks to be broken, it simply discards any IPI when low on memory. -Signed-off-by: Peter Zijlstra <a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org> +Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> --- arch/alpha/kernel/smp.c | 3 +-- @@ -54,26 +56,30 @@ LKML-Reference: <new-submission> 22 files changed, 48 insertions(+), 52 deletions(-) Index: linux-2.6/arch/alpha/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/alpha/kernel/smp.c +++ linux-2.6/arch/alpha/kernel/smp.c @@ -585,8 +585,7 @@ handle_ipi(struct pt_regs *regs) - +=20 switch (which) { case IPI_RESCHEDULE: - /* Reschedule callback. Everything to be done - is done by the interrupt return path. */ + scheduler_ipi(); break; - +=20 case IPI_CALL_FUNC: Index: linux-2.6/arch/arm/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/arm/kernel/smp.c +++ linux-2.6/arch/arm/kernel/smp.c @@ -575,10 +575,7 @@ asmlinkage void __exception do_IPI(struc break; - +=20 case IPI_RESCHEDULE: - /* - * nothing more to do - eveything is @@ -81,13 +87,15 @@ Index: linux-2.6/arch/arm/kernel/smp.c - */ + scheduler_ipi(); break; - +=20 case IPI_CALL_FUNC: Index: linux-2.6/arch/blackfin/mach-common/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/blackfin/mach-common/smp.c +++ linux-2.6/arch/blackfin/mach-common/smp.c -@@ -154,8 +154,7 @@ static irqreturn_t ipi_handler(int irq, +@@ -154,8 +154,7 @@ static irqreturn_t ipi_handler(int irq,=20 list_del(&msg->list); switch (msg->type) { case BFIN_IPI_RESCHEDULE: @@ -98,22 +106,24 @@ Index: linux-2.6/arch/blackfin/mach-common/smp.c break; case BFIN_IPI_CALL_FUNC: @@ -301,7 +300,7 @@ void smp_send_reschedule(int cpu) - - msg = kzalloc(sizeof(*msg), GFP_ATOMIC); +=20 + msg =3D kzalloc(sizeof(*msg), GFP_ATOMIC); if (!msg) - return; + return; /* XXX unreliable needs fixing ! */ INIT_LIST_HEAD(&msg->list); - msg->type = BFIN_IPI_RESCHEDULE; - + msg->type =3D BFIN_IPI_RESCHEDULE; +=20 Index: linux-2.6/arch/cris/arch-v32/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/cris/arch-v32/kernel/smp.c +++ linux-2.6/arch/cris/arch-v32/kernel/smp.c @@ -340,15 +340,18 @@ irqreturn_t crisv32_ipi_interrupt(int ir - - ipi = REG_RD(intr_vect, irq_regs[smp_processor_id()], rw_ipi); - +=20 + ipi =3D REG_RD(intr_vect, irq_regs[smp_processor_id()], rw_ipi); +=20 + if (ipi.vector & IPI_SCHEDULE) { + scheduler_ipi(); + } @@ -122,20 +132,22 @@ Index: linux-2.6/arch/cris/arch-v32/kernel/smp.c + func(info); } if (ipi.vector & IPI_FLUSH_TLB) { -- if (flush_mm == FLUSH_ALL) +- if (flush_mm =3D=3D FLUSH_ALL) - __flush_tlb_all(); -- else if (flush_vma == FLUSH_ALL) -+ if (flush_mm == FLUSH_ALL) +- else if (flush_vma =3D=3D FLUSH_ALL) ++ if (flush_mm =3D=3D FLUSH_ALL) + __flush_tlb_all(); -+ else if (flush_vma == FLUSH_ALL) ++ else if (flush_vma =3D=3D FLUSH_ALL) __flush_tlb_mm(flush_mm); - else + else __flush_tlb_page(flush_vma, flush_addr); } - +=20 Index: linux-2.6/arch/ia64/kernel/irq_ia64.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/ia64/kernel/irq_ia64.c +++ linux-2.6/arch/ia64/kernel/irq_ia64.c @@ -31,6 +31,7 @@ @@ -143,7 +155,7 @@ Index: linux-2.6/arch/ia64/kernel/irq_ia64.c #include <linux/ratelimit.h> #include <linux/acpi.h> +#include <linux/sched.h> - +=20 #include <asm/delay.h> #include <asm/intrinsics.h> @@ -496,6 +497,7 @@ ia64_handle_irq (ia64_vector vector, str @@ -155,12 +167,14 @@ Index: linux-2.6/arch/ia64/kernel/irq_ia64.c } else { ia64_setreg(_IA64_REG_CR_TPR, vector); Index: linux-2.6/arch/ia64/xen/irq_xen.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/ia64/xen/irq_xen.c +++ linux-2.6/arch/ia64/xen/irq_xen.c @@ -92,6 +92,8 @@ static unsigned short saved_irq_cnt; static int xen_slab_ready; - +=20 #ifdef CONFIG_SMP +#include <linux/sched.h> + @@ -173,25 +187,27 @@ Index: linux-2.6/arch/ia64/xen/irq_xen.c { + return IRQ_HANDLED; +} - +=20 +static irqreturn_t +xen_resched_handler(int irq, void *dev_id) +{ + scheduler_ipi(); return IRQ_HANDLED; } - +=20 @@ -110,7 +118,7 @@ static struct irqaction xen_ipi_irqactio }; - - static struct irqaction xen_resched_irqaction = { -- .handler = xen_dummy_handler, -+ .handler = xen_resched_handler, - .flags = IRQF_DISABLED, - .name = "resched" +=20 + static struct irqaction xen_resched_irqaction =3D { +- .handler =3D xen_dummy_handler, ++ .handler =3D xen_resched_handler, + .flags =3D IRQF_DISABLED, + .name =3D "resched" }; Index: linux-2.6/arch/m32r/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/m32r/kernel/smp.c +++ linux-2.6/arch/m32r/kernel/smp.c @@ -122,8 +122,6 @@ void smp_send_reschedule(int cpu_id) @@ -204,29 +220,39 @@ Index: linux-2.6/arch/m32r/kernel/smp.c * Born on Date: 2002.02.05 * @@ -138,7 +136,7 @@ void smp_send_reschedule(int cpu_id) - *==========================================================================*/ + *=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +*/ void smp_reschedule_interrupt(void) { - /* nothing to do */ + scheduler_ipi(); } - - /*==========================================================================* +=20 + /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +* Index: linux-2.6/arch/mips/kernel/smtc.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/mips/kernel/smtc.c +++ linux-2.6/arch/mips/kernel/smtc.c @@ -930,7 +930,7 @@ static void post_direct_ipi(int cpu, str - +=20 static void ipi_resched_interrupt(void) { - /* Return from interrupt should be enough to cause scheduler check */ + scheduler_ipi(); } - +=20 static void ipi_call_interrupt(void) Index: linux-2.6/arch/mips/sibyte/bcm1480/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/mips/sibyte/bcm1480/smp.c +++ linux-2.6/arch/mips/sibyte/bcm1480/smp.c @@ -20,6 +20,7 @@ @@ -234,24 +260,26 @@ Index: linux-2.6/arch/mips/sibyte/bcm1480/smp.c #include <linux/smp.h> #include <linux/kernel_stat.h> +#include <linux/sched.h> - +=20 #include <asm/mmu_context.h> #include <asm/io.h> @@ -189,10 +190,8 @@ void bcm1480_mailbox_interrupt(void) /* Clear the mailbox to clear the interrupt */ __raw_writeq(((u64)action)<<48, mailbox_0_clear_regs[cpu]); - +=20 - /* - * Nothing to do for SMP_RESCHEDULE_YOURSELF; returning from the - * interrupt will do the reschedule for us - */ + if (actione & SMP_RESCHEDULE_YOURSELF) + scheduler_ipi(); - +=20 if (action & SMP_CALL_FUNCTION) smp_call_function_interrupt(); Index: linux-2.6/arch/mips/sibyte/sb1250/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/mips/sibyte/sb1250/smp.c +++ linux-2.6/arch/mips/sibyte/sb1250/smp.c @@ -21,6 +21,7 @@ @@ -259,31 +287,34 @@ Index: linux-2.6/arch/mips/sibyte/sb1250/smp.c #include <linux/smp.h> #include <linux/kernel_stat.h> +#include <linux/sched.h> - +=20 #include <asm/mmu_context.h> #include <asm/io.h> @@ -177,10 +178,8 @@ void sb1250_mailbox_interrupt(void) /* Clear the mailbox to clear the interrupt */ ____raw_writeq(((u64)action) << 48, mailbox_clear_regs[cpu]); - +=20 - /* - * Nothing to do for SMP_RESCHEDULE_YOURSELF; returning from the - * interrupt will do the reschedule for us - */ + if (action & SMP_RESCHEDULE_YOURSELF) + scheduler_ipi(); - +=20 if (action & SMP_CALL_FUNCTION) smp_call_function_interrupt(); Index: linux-2.6/arch/mn10300/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/mn10300/kernel/smp.c +++ linux-2.6/arch/mn10300/kernel/smp.c @@ -464,14 +464,11 @@ void smp_send_stop(void) * @irq: The interrupt number. * @dev_id: The device ID. * -- * We need do nothing here, since the scheduling will be effected on our way +- * We need do nothing here, since the scheduling will be effected on our w= +ay - * back through entry.S. - * * Returns IRQ_HANDLED to indicate we handled the interrupt successfully. @@ -294,13 +325,15 @@ Index: linux-2.6/arch/mn10300/kernel/smp.c + scheduler_ipi(); return IRQ_HANDLED; } - +=20 Index: linux-2.6/arch/parisc/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/parisc/kernel/smp.c +++ linux-2.6/arch/parisc/kernel/smp.c -@@ -155,10 +155,7 @@ ipi_interrupt(int irq, void *dev_id) - +@@ -155,10 +155,7 @@ ipi_interrupt(int irq, void *dev_id)=20 + =09 case IPI_RESCHEDULE: smp_debug(100, KERN_DEBUG "CPU%d IPI_RESCHEDULE\n", this_cpu); - /* @@ -309,43 +342,49 @@ Index: linux-2.6/arch/parisc/kernel/smp.c - */ + scheduler_ipi(); break; - +=20 case IPI_CALL_FUNC: Index: linux-2.6/arch/powerpc/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/powerpc/kernel/smp.c +++ linux-2.6/arch/powerpc/kernel/smp.c @@ -127,7 +127,7 @@ static irqreturn_t call_function_action( - +=20 static irqreturn_t reschedule_action(int irq, void *data) { - /* we just need the return path side effect of checking need_resched */ + scheduler_ipi(); return IRQ_HANDLED; } - +=20 Index: linux-2.6/arch/s390/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/s390/kernel/smp.c +++ linux-2.6/arch/s390/kernel/smp.c @@ -163,12 +163,12 @@ static void do_ext_call_interrupt(unsign - +=20 /* * handle bit signal external calls - * - * For the ec_schedule signal we have to do nothing. All the work - * is done automatically when we return from the interrupt. */ - bits = xchg(&S390_lowcore.ext_call_fast, 0); - + bits =3D xchg(&S390_lowcore.ext_call_fast, 0); +=20 + if (test_bit(ec_schedule, &bits)) + scheduler_ipi(); + if (test_bit(ec_call_function, &bits)) generic_smp_call_function_interrupt(); - +=20 Index: linux-2.6/arch/sh/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/sh/kernel/smp.c +++ linux-2.6/arch/sh/kernel/smp.c @@ -20,6 +20,7 @@ @@ -365,20 +404,24 @@ Index: linux-2.6/arch/sh/kernel/smp.c case SMP_MSG_FUNCTION_SINGLE: generic_smp_call_function_single_interrupt(); Index: linux-2.6/arch/sparc/kernel/smp_32.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/sparc/kernel/smp_32.c +++ linux-2.6/arch/sparc/kernel/smp_32.c @@ -125,7 +125,7 @@ struct linux_prom_registers smp_penguin_ - +=20 void smp_send_reschedule(int cpu) { - /* See sparc64 */ + scheduler_ipi(); } - +=20 void smp_send_stop(void) Index: linux-2.6/arch/sparc/kernel/smp_64.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/sparc/kernel/smp_64.c +++ linux-2.6/arch/sparc/kernel/smp_64.c @@ -1369,6 +1369,7 @@ void smp_send_reschedule(int cpu) @@ -387,10 +430,12 @@ Index: linux-2.6/arch/sparc/kernel/smp_64.c clear_softint(1 << irq); + scheduler_ipi(); } - +=20 /* This is a nop because we capture all other cpus Index: linux-2.6/arch/tile/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/tile/kernel/smp.c +++ linux-2.6/arch/tile/kernel/smp.c @@ -184,12 +184,8 @@ void flush_icache_range(unsigned long st @@ -404,29 +449,33 @@ Index: linux-2.6/arch/tile/kernel/smp.c - */ __get_cpu_var(irq_stat).irq_resched_count++; + scheduler_ipi(); - +=20 return IRQ_HANDLED; } Index: linux-2.6/arch/um/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/um/kernel/smp.c +++ linux-2.6/arch/um/kernel/smp.c @@ -173,7 +173,7 @@ void IPI_handler(int cpu) break; - +=20 case 'R': - set_tsk_need_resched(current); + scheduler_ipi(); break; - +=20 case 'S': Index: linux-2.6/arch/x86/kernel/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/x86/kernel/smp.c +++ linux-2.6/arch/x86/kernel/smp.c @@ -194,14 +194,13 @@ static void native_stop_other_cpus(int w } - +=20 /* - * Reschedule call back. Nothing to do, - * all the work is done automatically when @@ -442,12 +491,15 @@ Index: linux-2.6/arch/x86/kernel/smp.c * KVM uses this interrupt to force a cpu out of guest mode */ Index: linux-2.6/arch/x86/xen/smp.c -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/arch/x86/xen/smp.c +++ linux-2.6/arch/x86/xen/smp.c @@ -46,13 +46,12 @@ static irqreturn_t xen_call_function_int - static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_id); - + static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_i= +d); +=20 /* - * Reschedule call back. Nothing to do, - * all the work is done automatically when @@ -458,18 +510,21 @@ Index: linux-2.6/arch/x86/xen/smp.c { inc_irq_stat(irq_resched_count); + scheduler_ipi(); - +=20 return IRQ_HANDLED; } Index: linux-2.6/include/linux/sched.h -=================================================================== +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- linux-2.6.orig/include/linux/sched.h +++ linux-2.6/include/linux/sched.h @@ -2183,6 +2183,7 @@ extern void set_task_comm(struct task_st extern char *get_task_comm(char *to, struct task_struct *tsk); - +=20 #ifdef CONFIG_SMP +static inline void scheduler_ipi(void) { } - extern unsigned long wait_task_inactive(struct task_struct *, long match_state); + extern unsigned long wait_task_inactive(struct task_struct *, long match_s= +tate); #else static inline unsigned long wait_task_inactive(struct task_struct *p, diff --git a/a/content_digest b/N2/content_digest index 9077b09..35494b2 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,48 +1,70 @@ "ref\01295262433.30950.53.camel@laptop\0" "ref\020110117112637.GA18599@n2100.arm.linux.org.uk\0" "ref\01295263884.30950.54.camel@laptop\0" - "From\0Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>\0" + "From\0Peter Zijlstra <peterz@infradead.org>\0" "Subject\0Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()\0" "Date\0Mon, 17 Jan 2011 12:41:49 +0100\0" - "To\0Russell King - ARM Linux <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>\0" - "Cc\0linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org" - linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - Benjamin Herrenschmidt <benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org> - Heiko Carstens <heiko.carstens-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org> - James E.J. Bottomley <jejb-6jwH94ZQLHl74goWV3ctuw@public.gmane.org> - David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> - Paul Mackerras <paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org> - H. Peter Anvin <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org> - sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org - Ralf-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - Linux-Arch <linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> - Jesper-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - Mike-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - Jeremy Fitzhardinge <jeremy.fitzhardinge-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org> - Hirokazu Takata <takata-TMSiXQfHlQjsTix1lMzHGQ@public.gmane.org> - x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org - Koichi-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org - virtualization-qjLDD68F18O7TbgM5vRIOg@public.gmane.org - Ingo Molnar <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> - Matt Turner <mattst88-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> - Yu <fenghua.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> - Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> - " user-mo\0" + "To\0Russell King - ARM Linux <linux@arm.linux.org.uk>\0" + "Cc\0linux-mips@linux-mips.org" + linux-ia64@vger.kernel.org + linux-sh@vger.kernel.org + H. Peter Anvin <hpa@zytor.com> + Heiko Carstens <heiko.carstens@de.ibm.com> + Paul Mackerras <paulus@samba.org> + Helge Deller <deller@gmx.de> + sparclinux@vger.kernel.org + Linux-Arch <linux-arch@vger.kernel.org> + linux-s390@vger.kernel.org + Jesper Nilsson <jesper.nilsson@axis.com> + Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> + Hirokazu Takata <takata@linux-m32r.org> + x86@kernel.org + James E.J. Bottomley <jejb@parisc-linux.org> + virtualization@lists.osdl.org + Ingo Molnar <mingo@redhat.com> + Matt Turner <mattst88@gmail.com> + Fenghua Yu <fenghua.yu@intel.com> + Mike Frysinger <vapier@gentoo.org> + user-mode-linux-devel@lists.sourceforge.net + Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> + Jeff Dike <jdike@addtoit.com> + Chris Metcalf <cmetcalf@tilera.com> + Mikael Starvik <starvik@axis.com> + xen-devel@lists.xensource.com + Ivan Kokshaysky <ink@jurassic.park.msu.ru> + user-mode-linux-user@lists.sourceforge.net + uclinux-dist-devel@blackfin.uclinux.org + Thomas Gleixner <tglx@linutronix.de> + Richard Henderson <rth@twiddle.net> + Tony Luck <tony.luck@intel.com> + linux-parisc@vger.kernel.org + linux-cris-kernel@axis.com + linux-kernel@vger.kernel.org + Ralf Baechle <ralf@linux-mips.org> + Kyle McMartin <kyle@mcmartin.ca> + Paul Mundt <lethal@linux-sh.org> + linux-alpha@vger.kernel.org + Martin Schwidefsky <schwidefsky@de.ibm.com> + linux390@de.ibm.com + Koichi Yasutake <yasutake.koichi@jp.panasonic.com> + linuxppc-dev@lists.ozlabs.org + " David S. Miller <davem@davemloft.net>\0" "\00:1\0" "b\0" "On Mon, 2011-01-17 at 12:31 +0100, Peter Zijlstra wrote:\n" "> On Mon, 2011-01-17 at 11:26 +0000, Russell King - ARM Linux wrote:\n" "\n" - "> > Maybe remove the comment \"everything is done on the interrupt return path\"\n" + "> > Maybe remove the comment \"everything is done on the interrupt return pa=\n" + "th\"\n" "> > as with this function call, that is no longer the case.\n" "\n" "(Removed am33, m32r-ka, m32r, arm-kernel lists because they kept sending\n" "bounces)\n" "\n" "---\n" - "Subject: sched: provide scheduler_ipi() callback in response to smp_send_reschedule()\n" - "From: Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>\n" + "Subject: sched: provide scheduler_ipi() callback in response to smp_send_re=\n" + "schedule()\n" + "From: Peter Zijlstra <peterz@infradead.org>\n" "Date: Mon, 17 Jan 2011 12:07:13 +0100\n" "\n" "For future rework of try_to_wake_up() we'd like to push part of that\n" @@ -59,7 +81,7 @@ "Also, while reading through all this, I noticed the blackfin SMP code\n" "looks to be broken, it simply discards any IPI when low on memory.\n" "\n" - "Signed-off-by: Peter Zijlstra <a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org>\n" + "Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\n" "LKML-Reference: <new-submission>\n" "---\n" " arch/alpha/kernel/smp.c | 3 +--\n" @@ -87,26 +109,30 @@ " 22 files changed, 48 insertions(+), 52 deletions(-)\n" "\n" "Index: linux-2.6/arch/alpha/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/alpha/kernel/smp.c\n" "+++ linux-2.6/arch/alpha/kernel/smp.c\n" "@@ -585,8 +585,7 @@ handle_ipi(struct pt_regs *regs)\n" - " \n" + "=20\n" " \t\tswitch (which) {\n" " \t\tcase IPI_RESCHEDULE:\n" "-\t\t\t/* Reschedule callback. Everything to be done\n" "-\t\t\t is done by the interrupt return path. */\n" "+\t\t\tscheduler_ipi();\n" " \t\t\tbreak;\n" - " \n" + "=20\n" " \t\tcase IPI_CALL_FUNC:\n" "Index: linux-2.6/arch/arm/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/arm/kernel/smp.c\n" "+++ linux-2.6/arch/arm/kernel/smp.c\n" "@@ -575,10 +575,7 @@ asmlinkage void __exception do_IPI(struc\n" " \t\t\t\tbreak;\n" - " \n" + "=20\n" " \t\t\tcase IPI_RESCHEDULE:\n" "-\t\t\t\t/*\n" "-\t\t\t\t * nothing more to do - eveything is\n" @@ -114,13 +140,15 @@ "-\t\t\t\t */\n" "+\t\t\t\tscheduler_ipi();\n" " \t\t\t\tbreak;\n" - " \n" + "=20\n" " \t\t\tcase IPI_CALL_FUNC:\n" "Index: linux-2.6/arch/blackfin/mach-common/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/blackfin/mach-common/smp.c\n" "+++ linux-2.6/arch/blackfin/mach-common/smp.c\n" - "@@ -154,8 +154,7 @@ static irqreturn_t ipi_handler(int irq, \n" + "@@ -154,8 +154,7 @@ static irqreturn_t ipi_handler(int irq,=20\n" " \t\tlist_del(&msg->list);\n" " \t\tswitch (msg->type) {\n" " \t\tcase BFIN_IPI_RESCHEDULE:\n" @@ -131,22 +159,24 @@ " \t\t\tbreak;\n" " \t\tcase BFIN_IPI_CALL_FUNC:\n" "@@ -301,7 +300,7 @@ void smp_send_reschedule(int cpu)\n" - " \n" - " \tmsg = kzalloc(sizeof(*msg), GFP_ATOMIC);\n" + "=20\n" + " \tmsg =3D kzalloc(sizeof(*msg), GFP_ATOMIC);\n" " \tif (!msg)\n" "-\t\treturn;\n" "+\t\treturn; /* XXX unreliable needs fixing ! */\n" " \tINIT_LIST_HEAD(&msg->list);\n" - " \tmsg->type = BFIN_IPI_RESCHEDULE;\n" - " \n" + " \tmsg->type =3D BFIN_IPI_RESCHEDULE;\n" + "=20\n" "Index: linux-2.6/arch/cris/arch-v32/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/cris/arch-v32/kernel/smp.c\n" "+++ linux-2.6/arch/cris/arch-v32/kernel/smp.c\n" "@@ -340,15 +340,18 @@ irqreturn_t crisv32_ipi_interrupt(int ir\n" - " \n" - " \tipi = REG_RD(intr_vect, irq_regs[smp_processor_id()], rw_ipi);\n" - " \n" + "=20\n" + " \tipi =3D REG_RD(intr_vect, irq_regs[smp_processor_id()], rw_ipi);\n" + "=20\n" "+\tif (ipi.vector & IPI_SCHEDULE) {\n" "+\t\tscheduler_ipi();\n" "+\t}\n" @@ -155,20 +185,22 @@ "+\t\tfunc(info);\n" " \t}\n" " \tif (ipi.vector & IPI_FLUSH_TLB) {\n" - "-\t\t if (flush_mm == FLUSH_ALL)\n" + "-\t\t if (flush_mm =3D=3D FLUSH_ALL)\n" "-\t\t\t __flush_tlb_all();\n" - "-\t\t else if (flush_vma == FLUSH_ALL)\n" - "+\t\tif (flush_mm == FLUSH_ALL)\n" + "-\t\t else if (flush_vma =3D=3D FLUSH_ALL)\n" + "+\t\tif (flush_mm =3D=3D FLUSH_ALL)\n" "+\t\t\t__flush_tlb_all();\n" - "+\t\telse if (flush_vma == FLUSH_ALL)\n" + "+\t\telse if (flush_vma =3D=3D FLUSH_ALL)\n" " \t\t\t__flush_tlb_mm(flush_mm);\n" "-\t\t else\n" "+\t\telse\n" " \t\t\t__flush_tlb_page(flush_vma, flush_addr);\n" " \t}\n" - " \n" + "=20\n" "Index: linux-2.6/arch/ia64/kernel/irq_ia64.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/ia64/kernel/irq_ia64.c\n" "+++ linux-2.6/arch/ia64/kernel/irq_ia64.c\n" "@@ -31,6 +31,7 @@\n" @@ -176,7 +208,7 @@ " #include <linux/ratelimit.h>\n" " #include <linux/acpi.h>\n" "+#include <linux/sched.h>\n" - " \n" + "=20\n" " #include <asm/delay.h>\n" " #include <asm/intrinsics.h>\n" "@@ -496,6 +497,7 @@ ia64_handle_irq (ia64_vector vector, str\n" @@ -188,12 +220,14 @@ " \t\t} else {\n" " \t\t\tia64_setreg(_IA64_REG_CR_TPR, vector);\n" "Index: linux-2.6/arch/ia64/xen/irq_xen.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/ia64/xen/irq_xen.c\n" "+++ linux-2.6/arch/ia64/xen/irq_xen.c\n" "@@ -92,6 +92,8 @@ static unsigned short saved_irq_cnt;\n" " static int xen_slab_ready;\n" - " \n" + "=20\n" " #ifdef CONFIG_SMP\n" "+#include <linux/sched.h>\n" "+\n" @@ -206,25 +240,27 @@ " {\n" "+\treturn IRQ_HANDLED;\n" "+}\n" - " \n" + "=20\n" "+static irqreturn_t\n" "+xen_resched_handler(int irq, void *dev_id)\n" "+{\n" "+\tscheduler_ipi();\n" " \treturn IRQ_HANDLED;\n" " }\n" - " \n" + "=20\n" "@@ -110,7 +118,7 @@ static struct irqaction xen_ipi_irqactio\n" " };\n" - " \n" - " static struct irqaction xen_resched_irqaction = {\n" - "-\t.handler =\txen_dummy_handler,\n" - "+\t.handler =\txen_resched_handler,\n" - " \t.flags =\tIRQF_DISABLED,\n" - " \t.name =\t\t\"resched\"\n" + "=20\n" + " static struct irqaction xen_resched_irqaction =3D {\n" + "-\t.handler =3D\txen_dummy_handler,\n" + "+\t.handler =3D\txen_resched_handler,\n" + " \t.flags =3D\tIRQF_DISABLED,\n" + " \t.name =3D\t\t\"resched\"\n" " };\n" "Index: linux-2.6/arch/m32r/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/m32r/kernel/smp.c\n" "+++ linux-2.6/arch/m32r/kernel/smp.c\n" "@@ -122,8 +122,6 @@ void smp_send_reschedule(int cpu_id)\n" @@ -237,29 +273,39 @@ " * Born on Date: 2002.02.05\n" " *\n" "@@ -138,7 +136,7 @@ void smp_send_reschedule(int cpu_id)\n" - " *==========================================================================*/\n" + " *=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "*/\n" " void smp_reschedule_interrupt(void)\n" " {\n" "-\t/* nothing to do */\n" "+\tscheduler_ipi();\n" " }\n" - " \n" - " /*==========================================================================*\n" + "=20\n" + " /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "*\n" "Index: linux-2.6/arch/mips/kernel/smtc.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/mips/kernel/smtc.c\n" "+++ linux-2.6/arch/mips/kernel/smtc.c\n" "@@ -930,7 +930,7 @@ static void post_direct_ipi(int cpu, str\n" - " \n" + "=20\n" " static void ipi_resched_interrupt(void)\n" " {\n" "-\t/* Return from interrupt should be enough to cause scheduler check */\n" "+\tscheduler_ipi();\n" " }\n" - " \n" + "=20\n" " static void ipi_call_interrupt(void)\n" "Index: linux-2.6/arch/mips/sibyte/bcm1480/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/mips/sibyte/bcm1480/smp.c\n" "+++ linux-2.6/arch/mips/sibyte/bcm1480/smp.c\n" "@@ -20,6 +20,7 @@\n" @@ -267,24 +313,26 @@ " #include <linux/smp.h>\n" " #include <linux/kernel_stat.h>\n" "+#include <linux/sched.h>\n" - " \n" + "=20\n" " #include <asm/mmu_context.h>\n" " #include <asm/io.h>\n" "@@ -189,10 +190,8 @@ void bcm1480_mailbox_interrupt(void)\n" " \t/* Clear the mailbox to clear the interrupt */\n" " \t__raw_writeq(((u64)action)<<48, mailbox_0_clear_regs[cpu]);\n" - " \n" + "=20\n" "-\t/*\n" "-\t * Nothing to do for SMP_RESCHEDULE_YOURSELF; returning from the\n" "-\t * interrupt will do the reschedule for us\n" "-\t */\n" "+\tif (actione & SMP_RESCHEDULE_YOURSELF)\n" "+\t\tscheduler_ipi();\n" - " \n" + "=20\n" " \tif (action & SMP_CALL_FUNCTION)\n" " \t\tsmp_call_function_interrupt();\n" "Index: linux-2.6/arch/mips/sibyte/sb1250/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/mips/sibyte/sb1250/smp.c\n" "+++ linux-2.6/arch/mips/sibyte/sb1250/smp.c\n" "@@ -21,6 +21,7 @@\n" @@ -292,31 +340,34 @@ " #include <linux/smp.h>\n" " #include <linux/kernel_stat.h>\n" "+#include <linux/sched.h>\n" - " \n" + "=20\n" " #include <asm/mmu_context.h>\n" " #include <asm/io.h>\n" "@@ -177,10 +178,8 @@ void sb1250_mailbox_interrupt(void)\n" " \t/* Clear the mailbox to clear the interrupt */\n" " \t____raw_writeq(((u64)action) << 48, mailbox_clear_regs[cpu]);\n" - " \n" + "=20\n" "-\t/*\n" "-\t * Nothing to do for SMP_RESCHEDULE_YOURSELF; returning from the\n" "-\t * interrupt will do the reschedule for us\n" "-\t */\n" "+\tif (action & SMP_RESCHEDULE_YOURSELF)\n" "+\t\tscheduler_ipi();\n" - " \n" + "=20\n" " \tif (action & SMP_CALL_FUNCTION)\n" " \t\tsmp_call_function_interrupt();\n" "Index: linux-2.6/arch/mn10300/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/mn10300/kernel/smp.c\n" "+++ linux-2.6/arch/mn10300/kernel/smp.c\n" "@@ -464,14 +464,11 @@ void smp_send_stop(void)\n" " * @irq: The interrupt number.\n" " * @dev_id: The device ID.\n" " *\n" - "- * We need do nothing here, since the scheduling will be effected on our way\n" + "- * We need do nothing here, since the scheduling will be effected on our w=\n" + "ay\n" "- * back through entry.S.\n" "- *\n" " * Returns IRQ_HANDLED to indicate we handled the interrupt successfully.\n" @@ -327,13 +378,15 @@ "+\tscheduler_ipi();\n" " \treturn IRQ_HANDLED;\n" " }\n" - " \n" + "=20\n" "Index: linux-2.6/arch/parisc/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/parisc/kernel/smp.c\n" "+++ linux-2.6/arch/parisc/kernel/smp.c\n" - "@@ -155,10 +155,7 @@ ipi_interrupt(int irq, void *dev_id) \n" - " \t\t\t\t\n" + "@@ -155,10 +155,7 @@ ipi_interrupt(int irq, void *dev_id)=20\n" + " \t\t\t=09\n" " \t\t\tcase IPI_RESCHEDULE:\n" " \t\t\t\tsmp_debug(100, KERN_DEBUG \"CPU%d IPI_RESCHEDULE\\n\", this_cpu);\n" "-\t\t\t\t/*\n" @@ -342,43 +395,49 @@ "-\t\t\t\t */\n" "+\t\t\t\tscheduler_ipi();\n" " \t\t\t\tbreak;\n" - " \n" + "=20\n" " \t\t\tcase IPI_CALL_FUNC:\n" "Index: linux-2.6/arch/powerpc/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/powerpc/kernel/smp.c\n" "+++ linux-2.6/arch/powerpc/kernel/smp.c\n" "@@ -127,7 +127,7 @@ static irqreturn_t call_function_action(\n" - " \n" + "=20\n" " static irqreturn_t reschedule_action(int irq, void *data)\n" " {\n" "-\t/* we just need the return path side effect of checking need_resched */\n" "+\tscheduler_ipi();\n" " \treturn IRQ_HANDLED;\n" " }\n" - " \n" + "=20\n" "Index: linux-2.6/arch/s390/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/s390/kernel/smp.c\n" "+++ linux-2.6/arch/s390/kernel/smp.c\n" "@@ -163,12 +163,12 @@ static void do_ext_call_interrupt(unsign\n" - " \n" + "=20\n" " \t/*\n" " \t * handle bit signal external calls\n" "-\t *\n" "-\t * For the ec_schedule signal we have to do nothing. All the work\n" "-\t * is done automatically when we return from the interrupt.\n" " \t */\n" - " \tbits = xchg(&S390_lowcore.ext_call_fast, 0);\n" - " \n" + " \tbits =3D xchg(&S390_lowcore.ext_call_fast, 0);\n" + "=20\n" "+\tif (test_bit(ec_schedule, &bits))\n" "+\t\tscheduler_ipi();\n" "+\n" " \tif (test_bit(ec_call_function, &bits))\n" " \t\tgeneric_smp_call_function_interrupt();\n" - " \n" + "=20\n" "Index: linux-2.6/arch/sh/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/sh/kernel/smp.c\n" "+++ linux-2.6/arch/sh/kernel/smp.c\n" "@@ -20,6 +20,7 @@\n" @@ -398,20 +457,24 @@ " \tcase SMP_MSG_FUNCTION_SINGLE:\n" " \t\tgeneric_smp_call_function_single_interrupt();\n" "Index: linux-2.6/arch/sparc/kernel/smp_32.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/sparc/kernel/smp_32.c\n" "+++ linux-2.6/arch/sparc/kernel/smp_32.c\n" "@@ -125,7 +125,7 @@ struct linux_prom_registers smp_penguin_\n" - " \n" + "=20\n" " void smp_send_reschedule(int cpu)\n" " {\n" "-\t/* See sparc64 */\n" "+\tscheduler_ipi();\n" " }\n" - " \n" + "=20\n" " void smp_send_stop(void)\n" "Index: linux-2.6/arch/sparc/kernel/smp_64.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/sparc/kernel/smp_64.c\n" "+++ linux-2.6/arch/sparc/kernel/smp_64.c\n" "@@ -1369,6 +1369,7 @@ void smp_send_reschedule(int cpu)\n" @@ -420,10 +483,12 @@ " \tclear_softint(1 << irq);\n" "+\tscheduler_ipi();\n" " }\n" - " \n" + "=20\n" " /* This is a nop because we capture all other cpus\n" "Index: linux-2.6/arch/tile/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/tile/kernel/smp.c\n" "+++ linux-2.6/arch/tile/kernel/smp.c\n" "@@ -184,12 +184,8 @@ void flush_icache_range(unsigned long st\n" @@ -437,29 +502,33 @@ "-\t */\n" " \t__get_cpu_var(irq_stat).irq_resched_count++;\n" "+\tscheduler_ipi();\n" - " \n" + "=20\n" " \treturn IRQ_HANDLED;\n" " }\n" "Index: linux-2.6/arch/um/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/um/kernel/smp.c\n" "+++ linux-2.6/arch/um/kernel/smp.c\n" "@@ -173,7 +173,7 @@ void IPI_handler(int cpu)\n" " \t\t\tbreak;\n" - " \n" + "=20\n" " \t\tcase 'R':\n" "-\t\t\tset_tsk_need_resched(current);\n" "+\t\t\tscheduler_ipi();\n" " \t\t\tbreak;\n" - " \n" + "=20\n" " \t\tcase 'S':\n" "Index: linux-2.6/arch/x86/kernel/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/x86/kernel/smp.c\n" "+++ linux-2.6/arch/x86/kernel/smp.c\n" "@@ -194,14 +194,13 @@ static void native_stop_other_cpus(int w\n" " }\n" - " \n" + "=20\n" " /*\n" "- * Reschedule call back. Nothing to do,\n" "- * all the work is done automatically when\n" @@ -475,12 +544,15 @@ " \t * KVM uses this interrupt to force a cpu out of guest mode\n" " \t */\n" "Index: linux-2.6/arch/x86/xen/smp.c\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/arch/x86/xen/smp.c\n" "+++ linux-2.6/arch/x86/xen/smp.c\n" "@@ -46,13 +46,12 @@ static irqreturn_t xen_call_function_int\n" - " static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_id);\n" - " \n" + " static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_i=\n" + "d);\n" + "=20\n" " /*\n" "- * Reschedule call back. Nothing to do,\n" "- * all the work is done automatically when\n" @@ -491,20 +563,23 @@ " {\n" " \tinc_irq_stat(irq_resched_count);\n" "+\tscheduler_ipi();\n" - " \n" + "=20\n" " \treturn IRQ_HANDLED;\n" " }\n" "Index: linux-2.6/include/linux/sched.h\n" - "===================================================================\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n" + "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" "--- linux-2.6.orig/include/linux/sched.h\n" "+++ linux-2.6/include/linux/sched.h\n" "@@ -2183,6 +2183,7 @@ extern void set_task_comm(struct task_st\n" " extern char *get_task_comm(char *to, struct task_struct *tsk);\n" - " \n" + "=20\n" " #ifdef CONFIG_SMP\n" "+static inline void scheduler_ipi(void) { }\n" - " extern unsigned long wait_task_inactive(struct task_struct *, long match_state);\n" + " extern unsigned long wait_task_inactive(struct task_struct *, long match_s=\n" + "tate);\n" " #else\n" static inline unsigned long wait_task_inactive(struct task_struct *p, -7fcbd8409df2c01400e5d4b40c83a817048fa7fe79c40ce9026b817fe48f2e7b +9b1562566341dd01eb80ed5bdf2d7bbb5a06e1112388a4c414a0de86ed83430e
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.