linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Mackerras <paulus@samba.org>
To: Olof Johansson <olof@lixom.net>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	linuxppc-dev@ozlabs.org
Subject: Re: [RFC/PATCH] Make powerpc64 use __thread for per-cpu variables
Date: Wed, 10 May 2006 16:29:59 +1000	[thread overview]
Message-ID: <17505.34919.750295.170941@cargo.ozlabs.ibm.com> (raw)
In-Reply-To: <20060510051649.GD1794@lixom.net>

Olof Johansson writes:

> Looks like alot of the text growth is from the added mfsprg3 instructions:

Yes, probably mostly from current.

> ... so, as the PACA gets deprecated, the bloat will go away again.

Yes.  I was hoping to get rid of the paca entirely, but that would
mean it would have to be in the RMA (so that the early exception entry
code can use it) which means that it won't be node-local any more.
I have a patch which allocates the per-cpu areas in the RMA but now
I'm rethinking it, since Ben H (at least) thinks the per-cpu area
really needs to be node-local.

Moving current to a per-cpu variable means that we need to allocate at
least the boot cpu's per-cpu area earlier than we do now, since it
seems that printk references current.  That makes it hard to make sure
the boot cpu's per-cpu area is node-local, unless we do something
tricky like reallocating it once the bootmem allocator is available.

> It would be interesting to see benchmarks of how much it improves
> things. I guess it doesn't really get interesting until after the paca
> gets removed though, due to the added mfsprg's.

I have moved current, smp_processor_id and a couple of other things to
per-cpu variables, and that results in the kernel text being about 8k
smaller than without any of these __thread patches.  Performance seems
to be very slightly better but it's hard to be sure that the change is
statistically significant, from the measurements I've done so far.

Paul.

  parent reply	other threads:[~2006-05-10  6:30 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-10  4:03 [RFC/PATCH] Make powerpc64 use __thread for per-cpu variables Paul Mackerras
2006-05-10  5:16 ` Olof Johansson
2006-05-10  5:35   ` Alan Modra
2006-05-10  6:22   ` David S. Miller
2006-05-10  6:29   ` Paul Mackerras [this message]
2006-05-10  6:39     ` David S. Miller
2006-05-10  7:21       ` Benjamin Herrenschmidt
2006-05-10  7:41       ` Paul Mackerras
2006-05-10 10:14       ` David Howells
2006-05-10 15:47 ` Richard Henderson
2006-05-10 18:04   ` Steven Rostedt
2006-05-10 19:40   ` David S. Miller
2006-05-10 21:05     ` Paul Mackerras
2006-05-10 22:25       ` David S. Miller
2006-05-10 23:17       ` Segher Boessenkool
2006-05-11  0:22         ` Richard Henderson
2006-05-11 23:41           ` Segher Boessenkool
2006-05-11  1:04       ` Alan Modra
2006-05-11  1:21         ` Paul Mackerras
2006-05-11  2:01           ` Alan Modra
2006-05-11 23:42           ` Segher Boessenkool
2006-05-10 23:05   ` Paul Mackerras
2006-05-10 23:44     ` Paul Mackerras
2006-05-11  0:11       ` David S. Miller
2006-05-18 23:50         ` Paul Mackerras

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=17505.34919.750295.170941@cargo.ozlabs.ibm.com \
    --to=paulus@samba.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=olof@lixom.net \
    /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).