Hi all,
I've a need to add some linker scripts to some ports that support
MULTIPROCESSOR and don't currently use a non-default linker script. The new
kernel linker scripts for alpha, macppc, powerpc and vax are attached. The
linker scripts are a copy of the default linker scripts currently used when
building the kernel, apart from the two new sections I've added:
o .data.cacheline_aligned
o .data.read_mostly
These two new sections are only used when MULTIPROCESSOR is defined. The idea
is that variables that need to be aligned on cacheline boundaries are placed in
the .data.cacheline_aligned section, and variables that are infrequently
modified are placed into the .data.read_mostly section. This helps mitigate
false-sharing.
The rest of the patch which actually places variables in the two sections will
be sent in another mail when it's ready. It's not too far off now.
Can the CC'd port-maintainers please speak up if they have a problem with me
committing these patches?
Attachment:
alpha-ldscript.patch
Description: Binary data
Attachment:
macppc-ldscript.patch
Description: Binary data
Attachment:
powerpc-ldscript.patch
Description: Binary data
Attachment:
vax-ldscript.patch
Description: Binary data