Messages in this thread | | | From | (Eric W. Biederman) | Date | Wed, 09 Jul 2008 15:10:40 -0700 | Subject | Re: [RFC 00/15] x86_64: Optimize percpu accesses |
| |
"H. Peter Anvin" <hpa@zytor.com> writes:
> Jeremy Fitzhardinge wrote: >> H. Peter Anvin wrote: >>> 1. it means pda references are invalid if their offsets are ever more than >>> CONFIG_PHYSICAL_BASE (which I do not think is likely, but still...) >> >> Why? >> >> As an aside, could we solve the problems by making CONFIG_PHYSICAL_BASE 0 - >> putting the percpu variables as the first thing in the kernel - and relocating >> on load? That would avoid having to make a special PT_LOAD segment at 0. Hm, >> would that result in the pda and the boot params getting mushed together? >> > > CONFIG_PHYSICAL_START rather. And no, it can't be zero! Realistically we > should make it 16 MB by default (currently 2 MB), to keep the DMA zone clear.
Also on x86_64 CONFIG_PHYSICAL_START is irrelevant as the kernel text segment is liked at a fixed address -2G and the option only determines the virtual to physical address mapping.
That said the idea may not be too far off.
Potentially we could put the percpu area at our fixed -2G address and then we have a constant (instead of an address) we could subtract from this address.
Eric
| |