linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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)
 {

  reply	other threads:[~2008-01-25  0:17 UTC|newest]

Thread overview: 12+ 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 ` [PATCH 1/3] generic: Percpu infrastructure to rebase the per cpu area to zero travis
2008-01-23  4:49 ` [PATCH 2/3] x86_64: Fold pda into per cpu area travis
2008-01-23  4:49 ` [PATCH 3/3] x86_64: Rebase per cpu variables to zero 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:58       ` Mike Travis
2008-01-25  1:18         ` Jeremy Fitzhardinge
2008-01-25  1:46         ` Jeremy Fitzhardinge
2008-01-29 20:00   ` Mike Travis
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 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).