Re: [RFC PATCH 4/6] powerpc/64s: Make hash MMU code build configurable

From
Nicholas Piggin <npiggin@gmail.com>
Date
2021-08-30 06:52:40
Reply to
Christophe Leroy, 2021-08-28
Excerpts from Christophe Leroy's message of August 28, 2021 7:34 pm:

Le 27/08/2021 à 18:34, Nicholas Piggin a écrit :
quoted
Introduce a new option CONFIG_PPC_64S_HASH_MMU which allows the 64s hash
MMU code to be compiled out if radix is selected and the minimum
supported CPU type is POWER9 or higher, and KVM is not selected.

This saves 128kB kernel image size (90kB text) on powernv_defconfig
minus KVM, 350kB on pseries_defconfig minus KVM, 40kB on a tiny config.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
...
quoted
@@ -324,6 +330,7 @@ static inline void assert_pte_locked(struct mm_struct *mm, unsigned long addr)
  }
  #endif /* !CONFIG_DEBUG_VM */
  
+#if defined(CONFIG_PPC_RADIX_MMU) && defined(CONFIG_PPC_64S_HASH_MMU)
  static inline bool radix_enabled(void)
  {
  	return mmu_has_feature(MMU_FTR_TYPE_RADIX);
@@ -333,6 +340,27 @@ static inline bool early_radix_enabled(void)
  {
  	return early_mmu_has_feature(MMU_FTR_TYPE_RADIX);
  }
+#elif defined(CONFIG_PPC_64S_HASH_MMU)
+static inline bool radix_enabled(void)
+{
+	return false;
+}
+
+static inline bool early_radix_enabled(void)
+{
+	return false;
+}
+#else
+static inline bool radix_enabled(void)
+{
+	return true;
+}
+
+static inline bool early_radix_enabled(void)
+{
+	return true;
+}
+#endif
You don't need something that complex. You don't need to change that at all indeed, just have to 
ensure that when CONFIG_PPC_64S_HASH_MMU is not selected you have MMU_FTR_TYPE_RADIX included in 
MMU_FTRS_ALWAYS and voila.
Yeah I had that as a later patch that fixes up the MMU ftrs for 64s 
which does that, I think was required before some of your patches were 
upstreamed.

But looks like it is now trivial so I should just pull that in here.

Thanks,
Nick
Thread (17 messages) 17 messages, 3 authors, last reply 2021-08-30
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help