From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
Jens Axboe <jens.axboe@oracle.com>, Andi Kleen <ak@suse.de>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: x86: Is there still value in having a special tlb flush IPI vector?
Date: Tue, 29 Jul 2008 14:30:07 +1000 [thread overview]
Message-ID: <200807291430.08220.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <20080728233455.GA2919@elte.hu>
On Tuesday 29 July 2008 09:34, Ingo Molnar wrote:
> * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> > Now that normal smp_function_call is no longer an enormous bottleneck,
> > is there still value in having a specialised IPI vector for tlb
> > flushes? It seems like quite a lot of duplicate code.
> >
> > The 64-bit tlb flush multiplexes the various cpus across 8 vectors to
> > increase scalability. If this is a big issue, then the smp function
> > call code can (and should) do the same thing. (Though looking at it
> > more closely, the way the code uses the 8 vectors is actually a less
> > general way of doing what smp_call_function is doing anyway.)
It definitely is not a clear win. They do not have the same characteristics.
So numbers will be needed.
smp_call_function is now properly scalable in smp_call_function_single
form. The more general case of multiple targets is not so easy and it still
takes a global lock and touches global cachelines.
I don't think it is a good use of time, honestly. Do you have a good reason?
> yep, and we could eliminate the reschedule IPI as well.
No. The rewrite makes it now very good at synchronously sending a function
to a single other CPU.
Sending asynchronously requires a slab allocation and then a remote slab free
(which is nasty for slab) at the other end, and bouncing of locks and
cachelines. No way you want to do that in the reschedule IPI.
Not to mention the minor problem that it still deadlocks when called with
interrupts disabled ;)
next prev parent reply other threads:[~2008-07-29 4:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-28 23:16 Jeremy Fitzhardinge
2008-07-28 23:20 ` Jeremy Fitzhardinge
2008-07-29 2:12 ` Andi Kleen
2008-07-29 6:29 ` Jeremy Fitzhardinge
2008-07-29 12:02 ` Andi Kleen
2008-07-29 14:46 ` Jeremy Fitzhardinge
2008-07-29 14:58 ` Andi Kleen
2008-07-28 23:34 ` Ingo Molnar
2008-07-29 4:30 ` Nick Piggin [this message]
2008-07-29 6:19 ` Jeremy Fitzhardinge
2008-07-29 9:47 ` Nick Piggin
2008-07-29 9:54 ` Peter Zijlstra
2008-07-29 10:00 ` Nick Piggin
2008-07-29 10:04 ` Peter Zijlstra
2008-07-29 10:17 ` Nick Piggin
2008-07-29 10:23 ` Peter Zijlstra
2008-07-29 10:45 ` Peter Zijlstra
2008-07-31 16:48 ` Ingo Molnar
2008-08-01 1:32 ` Nick Piggin
2008-07-31 17:48 ` Jeremy Fitzhardinge
2008-07-31 20:57 ` Ingo Molnar
2008-07-31 21:15 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807291430.08220.nickpiggin@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=ak@suse.de \
--cc=hpa@zytor.com \
--cc=jens.axboe@oracle.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome