Le 12/07/2019 à 14:22, Michael Ellerman a écrit :
Christophe Leroy <christophe.le...@c-s.fr> writes:
Le 12/07/2019 à 08:25, Michael Ellerman a écrit :
"Aneesh Kumar K.V" <aneesh.ku...@linux.ibm.com> writes:
...
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 11caa0291254..b181d6860f28 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -250,15 +250,22 @@ static void oops_end(unsigned long flags, struct pt_regs 
*regs,
   }
   NOKPROBE_SYMBOL(oops_end);
+static char *get_mmu_str(void)
+{
+       if (early_radix_enabled())
+               return " MMU=Radix";
+       if (early_mmu_has_feature(MMU_FTR_HPTE_TABLE))
+               return " MMU=Hash";
+       return "";
+}

We don't change MMU once we're up, so just do this logic once and stash
it into a static string, rather than rechecking on every oops.

Do we really have oops so often that we have to worry about that ?

Sometimes :)

But no I don't mean it's a performance issue, it just seems simpler to
compute the value once and store it. In fact for most platforms it can
just be a static string at compile time, it's only 64-bit Book3S that
needs to do anything at runtime.

Right, but I'm sure GCC will take care of that since the function is static and called only once.

Christophe

cheers

Reply via email to