public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Christoph Lameter <clameter@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
	Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org
Subject: Re: broken local_t on i386
Date: Tue, 13 Jun 2006 05:36:01 +0200	[thread overview]
Message-ID: <200606130536.01381.ak@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.64.0606121212510.20259@schroedinger.engr.sgi.com>

On Monday 12 June 2006 21:15, Christoph Lameter wrote:
> On Mon, 12 Jun 2006, Andi Kleen wrote:
> 
> > > I thought you had some funky segment registers on i386 and x86_64. Cant
> > > they be switched on context switch? If an inc/dec could work relative to
> > > those then you would not need a virtual mapping.
> > 
> > The segment register needs an offset. So you need the linker to generate
> > the offset from the base of the per cpu segment somehow. At compile time the 
> > address is not known so it cannot be done then.
> 
> Define something like a big struct and use offsetof?

That is how the basic architecture specific PDA works (asm/pda.h)

But i don't see a good way to define a big struct for asm/percpu.h

Preprocessing would be too slow and getting all people to put
their per CPU variables into a single header also doesn't seem
like a good idea.

> 
> So the compiler is not able to generate an offset to the beginning of a 
> data segment? 

It's an assembler/linker issue.

-Andi (who is really surprised people make such a big deal out of 
two instructions)


  reply	other threads:[~2006-06-13  3:51 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-10  4:40 2.6.16-rc6-mm2 Andrew Morton
2006-06-10 10:23 ` 2.6.16-rc6-mm2 Michal Piotrowski
2006-06-10 16:24   ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-10 16:43     ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-10 16:51       ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-10 17:03         ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-10 18:04           ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-10 18:14             ` 2.6.16-rc6-mm2 Michal Piotrowski
2006-06-10 18:31               ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-10 18:35                 ` 2.6.16-rc6-mm2 Michal Piotrowski
2006-06-12 11:05                 ` 2.6.16-rc6-mm2 Ingo Molnar
2006-06-12 11:48                   ` 2.6.16-rc6-mm2 Ingo Molnar
2006-06-12 12:14                     ` 2.6.16-rc6-mm2 Andi Kleen
2006-06-12 13:07                       ` 2.6.16-rc6-mm2 Ingo Molnar
2006-06-12 13:41                         ` 2.6.16-rc6-mm2 Andi Kleen
2006-06-13  3:28                       ` 2.6.16-rc6-mm2 Keith Owens
2006-06-13  4:56                         ` 2.6.16-rc6-mm2 Andi Kleen
2006-06-13  5:08                           ` 2.6.16-rc6-mm2 Keith Owens
2006-06-13  5:18                             ` 2.6.16-rc6-mm2 Andi Kleen
2006-06-13  5:43                               ` 2.6.16-rc6-mm2 Nick Piggin
2006-06-13  5:48                                 ` 2.6.16-rc6-mm2 Andi Kleen
2006-06-13 11:45                             ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-13 12:41                               ` 2.6.16-rc6-mm2 Keith Owens
2006-06-12 16:37                     ` broken local_t on i386 Christoph Lameter
2006-06-12 16:48                       ` Andi Kleen
2006-06-12 16:54                         ` Christoph Lameter
2006-06-12 17:06                           ` Andi Kleen
2006-06-12 17:11                             ` Christoph Lameter
2006-06-12 17:29                               ` Andi Kleen
2006-06-12 18:14                             ` Lee Revell
2006-06-12 18:46                               ` Alan Cox
2006-06-12 18:27                             ` Christoph Lameter
2006-06-12 17:35                               ` Andi Kleen
2006-06-12 18:42                                 ` Christoph Lameter
2006-06-12 17:55                                   ` Andi Kleen
2006-06-12 18:59                                     ` Christoph Lameter
2006-06-12 18:11                                       ` Andi Kleen
2006-06-12 19:15                                         ` Christoph Lameter
2006-06-13  3:36                                           ` Andi Kleen [this message]
2006-06-12 20:12                                         ` Alan Cox
2006-06-13  4:02                                           ` Andi Kleen
2006-06-12 13:50                   ` 2.6.16-rc6-mm2 Michal Piotrowski
2006-06-12 14:20                     ` 2.6.16-rc6-mm2 Ingo Molnar
2006-06-12 14:57                       ` 2.6.16-rc6-mm2 Michal Piotrowski
     [not found]               ` <6bffcb0e0606101126v55cc20dbk275d8aa7fdcb0f1a@mail.gmail.com>
2006-06-10 18:36                 ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-10 19:08                   ` 2.6.16-rc6-mm2 Michal Piotrowski
2006-06-10 16:58       ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-10 14:56 ` 2.6.16-rc6-mm2 Martin J. Bligh
2006-06-10 16:43   ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-10 16:18 ` 2.6.16-rc6-mm2 Dominik Karall
2006-06-10 16:25   ` 2.6.16-rc6-mm2 Michal Piotrowski
2006-06-10 17:42     ` 2.6.16-rc6-mm2 Dominik Karall
2006-06-10 18:43       ` 2.6.16-rc6-mm2 Rafael J. Wysocki
2006-06-11 10:17         ` 2.6.16-rc6-mm2 Jan Engelhardt
2006-06-11 10:58           ` 2.6.16-rc6-mm2 Rafael J. Wysocki
2006-06-12 16:56 ` 2.6.16-rc6-mm2 Zan Lynx
2006-06-12 17:35 ` 2.6.16-rc6-mm2 Cedric Le Goater
2006-06-12 22:16   ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-13  0:24     ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-14 21:56       ` 2.6.16-rc6-mm2 Trond Myklebust
2006-06-13  7:22     ` 2.6.16-rc6-mm2 Cedric Le Goater
2006-06-13 17:54       ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-13 19:35         ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-13 20:22           ` 2.6.16-rc6-mm2 Cedric Le Goater
2006-06-13 21:13             ` 2.6.16-rc6-mm2 Christoph Lameter
2006-06-13 21:50               ` 2.6.16-rc6-mm2 Cedric Le Goater
2006-06-12 18:19 ` 2.6.16-rc6-mm2 Badari Pulavarty
2006-06-13 13:54   ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-13 17:04     ` 2.6.16-rc6-mm2 Badari Pulavarty
2006-06-12 22:09 ` 2.6.16-rc6-mm2 Steve Fox
2006-06-13 13:54   ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-13 14:10     ` 2.6.16-rc6-mm2 Sergei Shtylyov
2006-06-13 19:01       ` 2.6.16-rc6-mm2 Steve Fox
2006-06-13 21:43       ` 2.6.16-rc6-mm2 Andrew Morton
2006-06-13 21:51       ` 2.6.16-rc6-mm2 Badari Pulavarty
2006-06-13 22:36         ` 2.6.16-rc6-mm2 Steve Fox

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=200606130536.01381.ak@suse.de \
    --to=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    --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