linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Liu Dave-r63238 <DaveLiu@freescale.com>
Cc: ppc-dev <linuxppc-dev@ozlabs.org>,
	Paul Mackerras <paulus@samba.org>,
	Kumar Gala <galak@gate.crashing.org>
Subject: RE: fsl booke MM vs. SMP questions
Date: Mon, 28 May 2007 20:00:21 +1000	[thread overview]
Message-ID: <1180346421.19517.79.camel@localhost.localdomain> (raw)
In-Reply-To: <995B09A8299C2C44B59866F6391D263595EF6C@zch01exm21.fsl.freescale.net>

On Mon, 2007-05-28 at 17:37 +0800, Liu Dave-r63238 wrote:
> 
> BTW, if the x86 processor support the broadcast tlb operation to
> system?
> If it can,  why we adopt the IPI mechanism for x86? what is the
> concern?

I don't think it supports them but then, I don't know for sure.

Part of the problem is what your workload is. if you have a lot of small
and short lived processes, such as CGI's on a web server, they are
fairly unlikely to exist on more than one processor, maybe two, during
their lifetime (there is a strong optimisation to only do a local
invalidate when the process only ever existed on one processor).

If you have a massively threaded workload, that is, a given process is
likely to exist on all processors, then it's also fairly unlikely that
you start doing a lot of fork()'s or to have that processes be short
lived... so it's less of an issue unless you start abusing mmap/munmap
or mprotect.

Also, when you have a large number of processors, having broadcast tlb
invalidations on the bus might become a bottleneck if, at the end of the
day, you really only want to invalidate one or two siblings. In that
case, targetted IPIs are probably a better option.

In the end, it's very difficult to "guess" what is better. If you add
all the above, plus the race between tlb invalidations and SW TLB
reload, it makes sense to start with IPIs and try to optimize that code
path as much as you can to avoid hitting more CPUs than necessary for
example).

Ben.

  reply	other threads:[~2007-05-28 10:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-21  7:06 fsl booke MM vs. SMP questions Benjamin Herrenschmidt
     [not found] ` <1179741447.3660.7.camel@localhost.localdomain>
     [not found]   ` <1179742083.32247.689.camel@localhost.localdomain>
2007-05-21 11:37     ` Dave Liu
2007-05-21 22:07       ` Benjamin Herrenschmidt
2007-05-22  3:09         ` Benjamin Herrenschmidt
2007-05-22 10:56           ` Dave Liu
2007-05-22 22:42             ` Benjamin Herrenschmidt
2007-05-23  2:38               ` Dave Liu
2007-05-23  3:08                 ` Benjamin Herrenschmidt
2007-05-28  9:05                   ` Liu Dave-r63238
2007-05-28  9:24                     ` Benjamin Herrenschmidt
2007-05-28  9:37                       ` Liu Dave-r63238
2007-05-28 10:00                         ` Benjamin Herrenschmidt [this message]
2007-05-28 10:23                           ` Gabriel Paubert
2007-05-28 10:28                             ` Benjamin Herrenschmidt
2007-05-22  8:46         ` Gabriel Paubert
2007-05-22  9:14           ` Benjamin Herrenschmidt
2007-05-22 10:02             ` Gabriel Paubert
2007-05-22 10:05               ` Benjamin Herrenschmidt
2007-05-23  9:12                 ` Gabriel Paubert
2007-05-22  3:03 ` Kumar Gala

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=1180346421.19517.79.camel@localhost.localdomain \
    --to=benh@kernel.crashing.org \
    --cc=DaveLiu@freescale.com \
    --cc=galak@gate.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.org \
    /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;
as well as URLs for NNTP newsgroup(s).