Messages in this thread | | | Date | Tue, 21 Apr 2020 18:45:00 +0800 | From | Jiaxun Yang <> | Subject | Re: [PATCH 3/3] MIPS: Reduce possibility of kernel panic under CONFIG_SWIOTLB |
| |
On Tue, 21 Apr 2020 17:35:25 +0800 Jiaxun Yang <jiaxun.yang@flygoat.com> wrote:
> On Tue, 21 Apr 2020 17:04:29 +0800 > Tiezhu Yang <yangtiezhu@loongson.cn> wrote: > [...] > > AFAIK there are some reasons that we set it to bottom_up. > On some platforms, bootloader won't place cmdline & devicetree into > reserved memory but place them just after kernel in memory. That means > if you set it as bottom up, then early allocate memory might collide > with these boot arguments.
Sorry please ignore it.
I had a wrong impression on memory layout.
It should be fine.
Thanks.
> > I'm not even sure if it works fine on Loongson with early PMON. > > I had met that issue before, the solution for me is to reduce SWIOTLB > size. > > > > > Reported-by: Juxin Gao <gaojuxin@loongson.cn> > > Co-developed-by: Juxin Gao <gaojuxin@loongson.cn> > > Signed-off-by: Juxin Gao <gaojuxin@loongson.cn> > > Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> > > --- > > arch/mips/kernel/setup.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c > > index 5481a0c..8db533c 100644 > > --- a/arch/mips/kernel/setup.c > > +++ b/arch/mips/kernel/setup.c > > @@ -700,7 +700,17 @@ static void __init arch_mem_init(char > > **cmdline_p) memblock_reserve(crashk_res.start, > > resource_size(&crashk_res)); #endif > > device_tree_init(); > > + > > + /* > > + * In order to reduce the possibility of kernel panic when > > failed to > > + * get IO TLB memory under CONFIG_SWIOTLB, it is better to > > allocate > > + * low memory as small as possible before > > plat_swiotlb_setup(), so > > + * make sparse_init() using top-down allocation. > > + */ > > + memblock_set_bottom_up(false); > > sparse_init(); > > + memblock_set_bottom_up(true); > > + > > plat_swiotlb_setup(); > > > > dma_contiguous_reserve(PFN_PHYS(max_low_pfn)); > > -- > Jiaxun Yang >
| |