Add __cacheline_aligned and __read_mostly annotations.These annotations help to mitigate false sharing on multiprocessorsystems.Variables annotated with __cacheline_aligned are placed into the.
Add __cacheline_aligned and __read_mostly annotations.These annotations help to mitigate false sharing on multiprocessorsystems.Variables annotated with __cacheline_aligned are placed into the.data.cacheline_aligned section in the kernel. Each item in thissection is aligned on a cachline boundary - this avoids falsesharing. Highly contended global locks are a good candidate for__cacheline_aligned annotation.Variables annotated with __read_mostly are packed together tightlyinto a .data.read_mostly section in the kernel. The idea here is thatwe can pack infrequently modified data items into a cacheline andavoid having to purge the cache, which would happen if read mostlydata and write mostly data shared a cachline. Initialisation variablesare a prime candiate for __read_mostly annotations.
show more ...
Move the kmodule linker script source into sys/modules/xldscripts. It isnot part of binutils and definitely not GPL v3.Discussed with mrg.