lkml.org 
[lkml]   [2017]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: mm/percpu.c: use smarter memory allocation for struct pcpu_alloc_info (crisv32 hang)
On Mon, Nov 27, 2017 at 12:54:21PM -0800, Tejun Heo wrote:
> Hello, Nicolas.
>
> On Mon, Nov 27, 2017 at 03:51:04PM -0500, Nicolas Pitre wrote:
> > Subject: percpu: hack to let the CRIS architecture to boot until they clean up
> >
> > Commit 438a506180 ("percpu: don't forget to free the temporary struct
> > pcpu_alloc_info") uncovered a problem on the CRIS architecture where
> > the bootmem allocator is initialized with virtual addresses. Given it
> > has:
> >
> > #define __va(x) ((void *)((unsigned long)(x) | 0x80000000))
> >
> > then things just work out because the end result is the same whether you
> > give this a physical or a virtual address.
> >
> > Untill you call memblock_free_early(__pa(address)) that is, because
> > values from __pa() don't match with the virtual addresses stuffed in the
> > bootmem allocator anymore.
> >
> > Avoid freeing the temporary pcpu_alloc_info memory on that architecture
> > until they fix things up to let the kernel boot like it did before.
> >
> > Signed-off-by: Nicolas Pitre <nico@linaro.org>
>
> This totally works for me. Replaced the revert with this one.
>
Same here.

Thanks,
Guenter

> Thanks!
>
> --
> tejun

\
 
 \ /
  Last update: 2017-11-27 22:18    [W:0.057 / U:8.792 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site