On 04/07/16 10:44, Oliver O'Halloran wrote: > This patch adds the kernel command line parameter "no_tb_segs" which > forces the kernel to use 256MB rather than 1TB segments. Forcing the use > of 256MB segments makes it considerably easier to test code that depends > on an SLB miss occurring. > > Suggested-by: Michael Neuling <mi...@neuling.org> > Suggested-by: Michael Ellerman <m...@ellerman.id.au> > Signed-off-by: Oliver O'Halloran <ooh...@gmail.com> > --- > arch/powerpc/mm/hash_utils_64.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c > index 5b22ba0b58bc..6da1a9d18e15 100644 > --- a/arch/powerpc/mm/hash_utils_64.c > +++ b/arch/powerpc/mm/hash_utils_64.c > @@ -321,6 +321,15 @@ int htab_remove_mapping(unsigned long vstart, unsigned > long vend, > return ret; > } > > +static bool no_tb_segs = false; > + > +static int __init parse_no_tb_segs(char *p) > +{ > + no_tb_segs = true; > + return 0; > +} > +early_param("no_tb_segs", parse_no_tb_segs);
Please update Documentation/kernel-paramaters.txt as well and document the use case and the fact that this for debugging. > + > static int __init htab_dt_scan_seg_sizes(unsigned long node, > const char *uname, int depth, > void *data) > @@ -339,6 +348,12 @@ static int __init htab_dt_scan_seg_sizes(unsigned long > node, > for (; size >= 4; size -= 4, ++prop) { > if (be32_to_cpu(prop[0]) == 40) { > DBG("1T segment support detected\n"); > + > + if (no_tb_segs) { > + DBG("Forcing 256MB segments\n"); > + break; > + } > + > cur_cpu_spec->mmu_features |= MMU_FTR_1T_SEGMENT; > return 1; > } > Otherwise Acked-by: Balbir Singh <bsinghar...@gmail.com> Balbir _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev