From: Mike Travis <travis@sgi.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <ak@suse.de>, Christoph Lameter <clameter@sgi.com>,
jeremy@goop.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] percpu: Optimize percpu accesses
Date: Thu, 24 Jan 2008 16:17:44 -0800 [thread overview]
Message-ID: <47992AA8.6040804@sgi.com> (raw)
In-Reply-To: <20080124224613.GA24855@elte.hu>
[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]
Ingo Molnar wrote:
> * travis@sgi.com <travis@sgi.com> wrote:
>
>> This patchset provides the following:
>>
>> * Generic: Percpu infrastructure to rebase the per cpu area to zero
>>
>> This provides for the capability of accessing the percpu variables
>> using a local register instead of having to go through a table
>> on node 0 to find the cpu-specific offsets. It also would allow
>> atomic operations on percpu variables to reduce required locking.
>>
>> * x86_64: Fold pda into per cpu area
>>
>> Declare the pda as a per cpu variable. This will move the pda
>> area to an address accessible by the x86_64 per cpu macros.
>> Subtraction of __per_cpu_start will make the offset based from
>> the beginning of the per cpu area. Since %gs is pointing to the
>> pda, it will then also point to the per cpu variables and can be
>> accessed thusly:
>>
>> %gs:[&per_cpu_xxxx - __per_cpu_start]
>>
>> * x86_64: Rebase per cpu variables to zero
>>
>> Take advantage of the zero-based per cpu area provided above. Then
>> we can directly use the x86_32 percpu operations. x86_32 offsets
>> %fs by __per_cpu_start. x86_64 has %gs pointing directly to the
>> pda and the per cpu area thereby allowing access to the pda with
>> the x86_64 pda operations and access to the per cpu variables
>> using x86_32 percpu operations.
>
> tried it on x86.git and 1/3 did not build and 2/3 causes a boot hang
> with the attached .config.
>
> Ingo
>
The build error was fixed with the note I sent to you yesterday with a
"fixup" patch for changes in -mm but not in x86.git (attached).
I'll try out your config next.
Thanks,
Mike
[-- Attachment #2: zero-based-x86.git-fix --]
[-- Type: text/plain, Size: 581 bytes --]
Subject: x86: fixes conflict between -mm and x86.git
Ingo - you can apply this to x86.git after the other zero-based
changes to fix a build problem.
Thanks,
Mike
Signed-off-by: Mike Travis <travis@sgi.com>
---
kernel/module.c | 3 ---
1 file changed, 3 deletions(-)
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -341,9 +341,6 @@ static inline unsigned int block_size(in
return val;
}
-/* Created by linker magic */
-extern char __per_cpu_start[], __per_cpu_end[];
-
static void *percpu_modalloc(unsigned long size, unsigned long align,
const char *name)
{
next prev parent reply other threads:[~2008-01-25 0:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-23 4:49 [PATCH 0/3] percpu: Optimize percpu accesses travis
2008-01-23 4:49 ` travis
2008-01-23 4:49 ` [PATCH 1/3] generic: Percpu infrastructure to rebase the per cpu area to zero travis
2008-01-23 4:49 ` travis
2008-01-23 4:49 ` [PATCH 2/3] x86_64: Fold pda into per cpu area travis
2008-01-23 4:49 ` travis
2008-01-23 4:49 ` [PATCH 3/3] x86_64: Rebase per cpu variables to zero travis
2008-01-23 4:49 ` travis
2008-01-24 22:46 ` [PATCH 0/3] percpu: Optimize percpu accesses Ingo Molnar
2008-01-25 0:17 ` Mike Travis [this message]
2008-01-25 0:25 ` Ingo Molnar
2008-01-25 0:25 ` Ingo Molnar
2008-01-25 0:58 ` Mike Travis
2008-01-25 0:58 ` Mike Travis
2008-01-25 1:18 ` Jeremy Fitzhardinge
2008-01-25 1:18 ` Jeremy Fitzhardinge
2008-01-25 1:46 ` Jeremy Fitzhardinge
2008-01-25 1:46 ` Jeremy Fitzhardinge
2008-01-29 20:00 ` Mike Travis
2008-01-29 20:00 ` Mike Travis
2008-01-29 20:13 ` Christoph Lameter
2008-01-29 20:13 ` Christoph Lameter
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=47992AA8.6040804@sgi.com \
--to=travis@sgi.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.