summaryrefslogtreecommitdiff
path: root/include/linux/cache.h
AgeCommit message (Collapse)Author
2005-07-10[SPARC64]: Add __read_mostly support.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-07[PATCH] mostly_read data sectionChristoph Lameter
Add a new section called ".data.read_mostly" for data items that are read frequently and rarely written to like cpumaps etc. If these maps are placed in the .data section then these frequenly read items may end up in cachelines with data is is frequently updated. In that case all processors in an SMP system must needlessly reload the cachelines again and again containing elements of those frequently used variables. The ability to share these cachelines will allow each cpu in an SMP system to keep local copies of those shared cachelines thereby optimizing performance. Signed-off-by: Alok N Kataria <alokk@calsoftinc.com> Signed-off-by: Shobhit Dayal <shobhit@calsoftinc.com> Signed-off-by: Christoph Lameter <christoph@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-02-25[PATCH] Always put cache aligned code in own section, even for modulesRusty Russell
We put ____cacheline_aligned things in their own section, simply because we waste less space that way. Otherwise we end up padding innocent variables to the next cacheline to get the required alignment. There's no reason not to do this in modules, too.
2002-12-29[PATCH] promote the ALIGN() macroAndrew Morton
ALIGN() currently has global scope in <linux/cache.h>. This causes a compilation error in the defxx driver. Move ALIGN() to <linux/kernel.h> and change the defxx driver to use the generic macro in place of its own.
2002-08-27[PATCH] add L1_CACHE_SHIFT_MAXAndrew Morton
zone->lock and zone->lru_lock are two of the hottest locks in the kernel. Their usage patterns are quite independent. And they have just been put into the same structure. It is essential that they not fall into the same cacheline. That could be fixed by padding with L1_CACHE_BYTES. But the problem with this is that a kernel which was configured for (say) a PIII will perform poorly on SMP PIV. This will cause problems for kernel vendors. For example, RH currently ship PII and Athlon binaries. To get best SMP performance they will end up needing to ship a lot of differently configured kernels. To solve this we need to know, at compile time, the maximum L1 size which this kernel will ever run on. This patch adds L1_CACHE_SHIFT_MAX to every architecture's cache.h. Of course it'll break when newer chips come out with increased cacheline sizes. Better suggestions are welcome.
2002-03-04[PATCH] per-cpu areasRusty Russell
This is the Richard Henderson-approved, cleaner, brighter per-cpu patch.
2002-02-04v2.5.0.4 -> v2.5.0.5Linus Torvalds
- Patrick Mochel: driver model infrastructure, part 1 - Jens Axboe: more bio fixes, cleanups - Andrew Morton: release locking fixes - Al Viro: superblock/mount handling - Kai Germaschewski: AVM Fritz!Card ISDN driver - Christoph Hellwig: make cramfs SMP-safe.
2002-02-04v2.4.9.10 -> v2.4.9.11Linus Torvalds
- Neil Brown: md cleanups/fixes - Andrew Morton: console locking merge - Andrea Arkangeli: major VM merge
2002-02-04Import changesetLinus Torvalds