[RFC] powerpc/mm: Support bootmem for PPC64 again

Gavin Shan gwshan at linux.vnet.ibm.com
Sat Mar 26 23:50:08 AEDT 2016


On Sat, Mar 26, 2016 at 08:23:54PM +1100, Michael Ellerman wrote:
>On Fri, 2016-25-03 at 16:03:41 UTC, Gavin Shan wrote:
>> CONFIG_NO_BOOTMEM is enabled on PPC platforms by default. However,
>> user might disable that to have bootmem for other purpose. So it's
>> resonable to support it.
>
>Hi Gavin,
>
>Sorry but I don't understand. We deliberately removed bootmem support, and don't
>want it back, it doesn't add anything other than complexity. See 10239733ee86
>("powerpc: Remove bootmem allocator").
>
>I wasn't aware there was any way to enable it? If there is we should fix that.
>

[Cc Balbir so that I needn't reply separately]

Michael, here's the history: Li, who is in the cc list, backports deferred
page initialization feature from upstream kernel to RHEL 7.2 (3.10.0-357.el7,
or RHEL7.3?). Eventually, she runs into system kernel crash that should be caused
by memory corruption. In RHEL kernel, CONFIG_BOOTMEM and CONFIG_DEFERRED_STRUCT_PAGE_INIT
are enabled at same time. Li observed the issue on pSeries platform.

I jumped in to help understanding what was going on. I tried to reproduce the issue
on PowerNV platform with upstream kernel (v4.5-rc7) and found bootmem is never supported.
In order to trigger the system crash with exact scenario that Li had. I have to support
bootmem first of all.

I guess it's fine to remove bootmem which allocates memory in page granularity. From
the perspective, it's not different from memblock. But user might still need bootmem
supported in code level. The story I told might be not enough to get bootmem to be
supported in code level. If that's the case, please ignore the patch. At least, we
won't support bootmem in long term :-)

Thanks,
Gavin



More information about the Linuxppc-dev mailing list