[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DD60530.6090900@gaisler.com>
Date: Fri, 20 May 2011 08:07:44 +0200
From: Daniel Hellstrom <daniel@...sler.com>
To: Peter Zijlstra <peterz@...radead.org>
CC: Stephen Rothwell <sfr@...b.auug.org.au>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...e.hu>, "H. Peter Anvin" <hpa@...or.com>,
linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>
Subject: Re: linux-next: manual merge of the tip tree with the sparc tree
Peter Zijlstra wrote:
>On Thu, 2011-05-19 at 15:37 +0200, Daniel Hellstrom wrote:
>
>
>
>
>>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. */
>> }
>>
>>
>
>That doesn't look like an IPI, that looks like its calls the function on
>the local cpu, which is completely pointless.
>
>
The above function is one of the IPI interrupt handlers.
The smp_send_reschedule() is called by the generic code, it is
responsible for sending an IRQ to the target CPU, that CPU comes into
smp_resched_interrupt above from the IRQ trap handler. So yes, the
scheduler_ipi() is called on the local CPU, but on the CPU taking the
IPI not the CPU sending the IPI.
Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists