Patchwork [1/2] Fix merge problem between sparc32 IPI patches and schedule_ipi() callback

login
register
mail settings
Submitter Daniel Hellstrom
Date May 20, 2011, 2:01 p.m.
Message ID <1305900070-23492-1-git-send-email-daniel@gaisler.com>
Download mbox | patch
Permalink /patch/96609/
State Accepted
Delegated to: David Miller
Headers show

Comments

Daniel Hellstrom - May 20, 2011, 2:01 p.m.
Fixes a merge conflict in arch/sparc/kernel/smp_32.c between commit
d6d048192b1d ("sparc32: implement SMP IPIs using the generic functions")
from the sparc tree and commit 184748cc50b2 ("sched: Provide
scheduler_ipi() callback in response to smp_send_reschedule()").

The patch adds a call to scheduler_ipi() from the resched IPI handler in
sparc32.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
---
 arch/sparc/kernel/smp_32.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
David Miller - May 20, 2011, 8:13 p.m.
From: Daniel Hellstrom <daniel@gaisler.com>
Date: Fri, 20 May 2011 16:01:09 +0200

> Fixes a merge conflict in arch/sparc/kernel/smp_32.c between commit
> d6d048192b1d ("sparc32: implement SMP IPIs using the generic functions")
> from the sparc tree and commit 184748cc50b2 ("sched: Provide
> scheduler_ipi() callback in response to smp_send_reschedule()").
> 
> The patch adds a call to scheduler_ipi() from the resched IPI handler in
> sparc32.
> 
> Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>

What I did to handle this was merge in enough of the upstream commit
by Peter such that both of these patches apply, via:

git merge --no-commit 317f394160e9beb97d19a84c39b7e5eb3d7815a8

then I added patch #1 into the merge commit.

Next, I applied patch #2 afterwards.

So we should be all set when I push this out to Linus, thanks!
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/sparc/kernel/smp_32.c b/arch/sparc/kernel/smp_32.c
index 41102c5..d5b3958 100644
--- a/arch/sparc/kernel/smp_32.c
+++ b/arch/sparc/kernel/smp_32.c
@@ -156,11 +156,11 @@  void arch_send_call_function_ipi_mask(const struct cpumask *mask)
 
 void smp_resched_interrupt(void)
 {
+	irq_enter();
+	scheduler_ipi();
 	local_cpu_data().irq_resched_count++;
-	/*
-	 * do nothing, since it all was about calling re-schedule
-	 * routine called by interrupt return code.
-	 */
+	irq_exit();
+	/* re-schedule routine called by interrupt return code. */
 }
 
 void smp_call_function_single_interrupt(void)