diff options
author | Mike Travis <travis@sgi.com> | 2008-06-03 17:30:19 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-10 12:05:44 +0200 |
commit | d3794979a8a80c222ce9d016a6dfc4bed36965d0 (patch) | |
tree | 6f0eceaa7beba144bf87f6396c56a0a4c4b15141 /drivers/net/forcedeth.c | |
parent | b3a0cb456d848e10b2f7b371ba05e44f1384520a (diff) |
Zero based percpu: infrastructure to rebase the per cpu area to zero
* Support an option
CONFIG_HAVE_ZERO_BASED_PER_CPU
to make offsets for per cpu variables to start at zero.
If a percpu area starts at zero then:
- We do not need RELOC_HIDE anymore
- Provides for the future capability of architectures providing
a per cpu allocator that returns offsets instead of pointers.
The offsets would be independent of the processor so that
address calculations can be done in a processor independent way.
Per cpu instructions can then add the processor specific offset
at the last minute possibly in an atomic instruction.
The data the linker provides is different for zero based percpu segments:
__per_cpu_load -> The address at which the percpu area was loaded
__per_cpu_size -> The length of the per cpu area
* Removes the &__per_cpu_x in lockdep. The __per_cpu_x are already
pointers. There is no need to take the address.
* Updates kernel/module.c to be able to deal with a percpu area that
is loaded at __per_cpu_load but is accessed at __per_cpu_start.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/net/forcedeth.c')
0 files changed, 0 insertions, 0 deletions