Re: [GIT RFC] percpu: use dynamic percpu allocator as the defaultpercpu allocator

From: Martin Schwidefsky
Date: Wed Apr 01 2009 - 04:47:56 EST


On Wed, 01 Apr 2009 01:37:02 -0700 (PDT)
David Miller <davem@xxxxxxxxxxxxx> wrote:

> From: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
> Date: Wed, 1 Apr 2009 10:32:57 +0200
>
> > The code sequence with @GOT:
> >
> > larl %r12,_GLOBAL_OFFSET_TABLE_
> > lg %r1,symbol@GOT(%r12)
> >
> > is equivalent to:
> >
> > larl %r1,symbol@GOTENT
> > lg %r1,0(%r1)
> >
> > The advantage of the second code sequence is that it need a single
> > register and the size of the GOT is not limited to 4K as in the first
> > example (the offset in an RX format instruction is limited to 12 bits -
> > but that is probably something you don't want to know ;-).
>
> If practical I think you guys should just force all of the module
> address space below 4GB virtually, as we do on sparc64. It's a good
> way to avoid all of these problems.

We have thought about that solution as well but it not really a good
one. For a machine with more than 4GB of memory we would either loose
the memory that overlaps with the module area or we'd have to play
nasty remapping tricks. On s390 the kernel image is linked to address 0
(PAGE_OFFSET==0) and we have a simple 1:1 mapping for all real memory.

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/