Re: powerpc/64: Fix L1D cache shape vector reporting L1I values

2017-03-07 Thread Michael Ellerman
On Mon, 2017-03-06 at 11:15:29 UTC, Michael Ellerman wrote:
> It seems we didn't pay quite enough attention when testing the new cache
> shape vectors, which means we didn't notice the bug where the vector for
> the L1D was using the L1I values. Fix it, resulting in eg:
> 
>   L1I  cache size: 0x8000  32768B 32K
>   L1I  line size:0x80   8-way associative
>   L1D  cache size:0x1  65536B 64K
>   L1D  line size:0x80   8-way associative
> 
> Fixes: 98a5f361b862 ("powerpc: Add new cache geometry aux vectors")
> Cut-and-paste-bug-by: Benjamin Herrenschmidt 
> Badly-reviewed-by: Michael Ellerman 
> Signed-off-by: Michael Ellerman 

Applied to powerpc fixes.

https://git.kernel.org/powerpc/c/9c7a00868c3a77c86ab07a2c51f3bb

cheers


[PATCH] powerpc/64: Fix L1D cache shape vector reporting L1I values

2017-03-06 Thread Michael Ellerman
It seems we didn't pay quite enough attention when testing the new cache
shape vectors, which means we didn't notice the bug where the vector for
the L1D was using the L1I values. Fix it, resulting in eg:

  L1I  cache size: 0x8000  32768B 32K
  L1I  line size:0x80   8-way associative
  L1D  cache size:0x1  65536B 64K
  L1D  line size:0x80   8-way associative

Fixes: 98a5f361b862 ("powerpc: Add new cache geometry aux vectors")
Cut-and-paste-bug-by: Benjamin Herrenschmidt 
Badly-reviewed-by: Michael Ellerman 
Signed-off-by: Michael Ellerman 
---
 arch/powerpc/include/asm/elf.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h
index 93b9b84568e8..09bde6e34f5d 100644
--- a/arch/powerpc/include/asm/elf.h
+++ b/arch/powerpc/include/asm/elf.h
@@ -144,8 +144,8 @@ extern int arch_setup_additional_pages(struct linux_binprm 
*bprm,
 #define ARCH_DLINFO_CACHE_GEOMETRY \
NEW_AUX_ENT(AT_L1I_CACHESIZE, ppc64_caches.l1i.size);   \
NEW_AUX_ENT(AT_L1I_CACHEGEOMETRY, get_cache_geometry(l1i)); \
-   NEW_AUX_ENT(AT_L1D_CACHESIZE, ppc64_caches.l1i.size);   \
-   NEW_AUX_ENT(AT_L1D_CACHEGEOMETRY, get_cache_geometry(l1i)); \
+   NEW_AUX_ENT(AT_L1D_CACHESIZE, ppc64_caches.l1d.size);   \
+   NEW_AUX_ENT(AT_L1D_CACHEGEOMETRY, get_cache_geometry(l1d)); \
NEW_AUX_ENT(AT_L2_CACHESIZE, ppc64_caches.l2.size); \
NEW_AUX_ENT(AT_L2_CACHEGEOMETRY, get_cache_geometry(l2));   \
NEW_AUX_ENT(AT_L3_CACHESIZE, ppc64_caches.l3.size); \
-- 
2.7.4