Re: x86: Is there still value in having a special tlb flush IPIvector?

From: Ingo Molnar
Date: Thu Jul 31 2008 - 12:48:56 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Tue, 2008-07-29 at 20:00 +1000, Nick Piggin wrote:
> > On Tuesday 29 July 2008 19:54, Peter Zijlstra wrote:
> > > On Tue, 2008-07-29 at 14:30 +1000, Nick Piggin wrote:
> > > > Not to mention the minor problem that it still deadlocks when called with
> > > > interrupts disabled ;)
> > >
> > > __smp_call_function_single has potential though..
> >
> > For reschedule interrupt? I don't really agree.
>
> How about using just arch_send_call_function_single_ipi() to implement
> smp_send_reschedule() ?

agreed, that's just a single IPI which kicks the need_resched logic on
return-from-interrupt.

> The overhead of that is a smp_mb() and a list_empty() check in
> generic_smp_call_function_single_interrupt() if there is indeed no
> work to do.

that would be a miniscule cost - cacheline is read-shared amongst cpus
so there's no real bouncing there. So i'm all for it ...

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/