mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros
____cacheline_maxaligned_in_smp is currently used to align critical structures and avoid false sharing. It uses per-arch L1_CACHE_SHIFT_MAX and people find L1_CACHE_SHIFT_MAX useless. However, we have been using ____cacheline_maxaligned_in_smp to align structures on the internode cacheline size. As per Andi's suggestion, following patch kills ____cacheline_maxaligned_in_smp and introduces INTERNODE_CACHE_SHIFT, which defaults to L1_CACHE_SHIFT for all arches. Arches needing L3/Internode cacheline alignment can define INTERNODE_CACHE_SHIFT in the arch asm/cache.h. Patch replaces ____cacheline_maxaligned_in_smp with ____cacheline_internodealigned_in_smp With this patch, L1_CACHE_SHIFT_MAX can be killed Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
6d524aed1f
commit
22fc6eccbf
9 changed files with 24 additions and 15 deletions
|
@ -45,12 +45,21 @@
|
|||
#endif /* CONFIG_SMP */
|
||||
#endif
|
||||
|
||||
#if !defined(____cacheline_maxaligned_in_smp)
|
||||
/*
|
||||
* The maximum alignment needed for some critical structures
|
||||
* These could be inter-node cacheline sizes/L3 cacheline
|
||||
* size etc. Define this in asm/cache.h for your arch
|
||||
*/
|
||||
#ifndef INTERNODE_CACHE_SHIFT
|
||||
#define INTERNODE_CACHE_SHIFT L1_CACHE_SHIFT
|
||||
#endif
|
||||
|
||||
#if !defined(____cacheline_internodealigned_in_smp)
|
||||
#if defined(CONFIG_SMP)
|
||||
#define ____cacheline_maxaligned_in_smp \
|
||||
__attribute__((__aligned__(1 << (L1_CACHE_SHIFT_MAX))))
|
||||
#define ____cacheline_internodealigned_in_smp \
|
||||
__attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT))))
|
||||
#else
|
||||
#define ____cacheline_maxaligned_in_smp
|
||||
#define ____cacheline_internodealigned_in_smp
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue