Re: [PATCH] Revert "mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE"
From: Michal Hocko
Date: Thu May 17 2018 - 12:24:51 EST
On Thu 17-05-18 20:13:35, Ville Syrjälä wrote:
> On Thu, May 17, 2018 at 06:49:47PM +0200, Michal Hocko wrote:
> > On Thu 17-05-18 16:58:32, Ville Syrjälä wrote:
> > > On Thu, May 17, 2018 at 04:36:29PM +0300, Ville Syrjälä wrote:
> > > > On Thu, May 17, 2018 at 03:21:09PM +0200, Michal Hocko wrote:
> > > > > On Thu 17-05-18 15:59:59, Ville Syrjala wrote:
> > > > > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > > > >
> > > > > > This reverts commit bad8c6c0b1144694ecb0bc5629ede9b8b578b86e.
> > > > > >
> > > > > > Make x86 with HIGHMEM=y and CMA=y boot again.
> > > > >
> > > > > Is there any bug report with some more details? It is much more
> > > > > preferable to fix the issue rather than to revert the whole thing
> > > > > right away.
> > > >
> > > > The machine I have in front of me right now didn't give me anything.
> > > > Black screen, and netconsole was silent. No serial port on this
> > > > machine unfortunately.
> > >
> > > Booted on another machine with serial:
> >
> > Could you provide your .config please?
>
> Attached. Not sure there's anything particularly useful in it though
> since I've now seen this on all the highmem systems I've booted.
It has CONFIG_HAVE_MEMBLOCK_NODE_MAP so the movable_zone initialization
depends on quite some crazy movable init code paths. So maybe that is
the place to look at.
> BTW I just noticed that the reported memory sizes look pretty crazy:
>
> Memory: 3926480K/3987424K available (5254K kernel code, 561K rwdata,
> 2156K rodata, 572K init, 9308K bss, 56848K reserved,
> 4096K cma-reserved, 3078532K highmem)
>
> vs.
>
> Memory: 7001976K/3987424K available (5254K kernel code, 561K rwdata,
> 2156K rodata, 572K init, 9308K bss, 4291097664K reserved,
> 4096K cma-reserved, 7005012K highmem)
This smells like a fallout. Reserved pages clearly underflowed which
suggested we are initializating more than we should.
--
Michal Hocko
SUSE Labs