diff options
author | Kevin Hao <haokexin@gmail.com> | 2015-03-10 08:41:31 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2015-03-31 23:23:17 -0400 |
commit | 016f8cf0d87bb2bda15ccb8708748a013c27423f (patch) | |
tree | 3f1e2a9a8408f4ddf460ce986651b9782e37a3fc | |
parent | 2e51563d07cf0caae03dd7f693d7545825326c29 (diff) |
powerpc: book3e_64: fix the align size for paca_struct
All the cache line size of the current book3e 64bit SoCs are 64 bytes.
So we should use this size to align the member of paca_struct.
This only change the paca_struct's members which are private to book3e
CPUs, and should not have any effect to book3s ones. With this, we save
192 bytes. Also change it to __aligned(size) since it is preferred over
__attribute__((aligned(size))).
Before:
/* size: 1920, cachelines: 30, members: 46 */
/* sum members: 1667, holes: 6, sum holes: 141 */
/* padding: 112 */
After:
/* size: 1728, cachelines: 27, members: 46 */
/* sum members: 1667, holes: 4, sum holes: 13 */
/* padding: 48 */
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
-rw-r--r-- | arch/powerpc/include/asm/paca.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h index e5f22c6c4bf9..70bd4381f8e6 100644 --- a/arch/powerpc/include/asm/paca.h +++ b/arch/powerpc/include/asm/paca.h | |||
@@ -106,9 +106,9 @@ struct paca_struct { | |||
106 | #endif /* CONFIG_PPC_STD_MMU_64 */ | 106 | #endif /* CONFIG_PPC_STD_MMU_64 */ |
107 | 107 | ||
108 | #ifdef CONFIG_PPC_BOOK3E | 108 | #ifdef CONFIG_PPC_BOOK3E |
109 | u64 exgen[8] __attribute__((aligned(0x80))); | 109 | u64 exgen[8] __aligned(0x40); |
110 | /* Keep pgd in the same cacheline as the start of extlb */ | 110 | /* Keep pgd in the same cacheline as the start of extlb */ |
111 | pgd_t *pgd __attribute__((aligned(0x80))); /* Current PGD */ | 111 | pgd_t *pgd __aligned(0x40); /* Current PGD */ |
112 | pgd_t *kernel_pgd; /* Kernel PGD */ | 112 | pgd_t *kernel_pgd; /* Kernel PGD */ |
113 | 113 | ||
114 | /* Shared by all threads of a core -- points to tcd of first thread */ | 114 | /* Shared by all threads of a core -- points to tcd of first thread */ |