summaryrefslogtreecommitdiff
path: root/sys/modules/xldscripts
AgeCommit message (Collapse)Author
2010-06-01Add __cacheline_aligned and __read_mostly annotations.mjf
These annotations help to mitigate false sharing on multiprocessor systems. Variables annotated with __cacheline_aligned are placed into the .data.cacheline_aligned section in the kernel. Each item in this section is aligned on a cachline boundary - this avoids false sharing. Highly contended global locks are a good candidate for __cacheline_aligned annotation. Variables annotated with __read_mostly are packed together tightly into a .data.read_mostly section in the kernel. The idea here is that we can pack infrequently modified data items into a cacheline and avoid having to purge the cache, which would happen if read mostly data and write mostly data shared a cachline. Initialisation variables are a prime candiate for __read_mostly annotations.
2009-11-10Move the kmodule linker script source into sys/modules/xldscripts. It isskrll
not part of binutils and definitely not GPL v3. Discussed with mrg.