[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <83d035f1-40b4-bed8-6113-f4c5a0c4d22f@suse.cz>
Date: Fri, 24 Aug 2018 09:32:08 +0200
From: Jiri Slaby <jslaby@...e.cz>
To: Pavel Tatashin <pasha.tatashin@...cle.com>
Cc: mhocko@...nel.org, Steven Sistare <steven.sistare@...cle.com>,
Daniel Jordan <daniel.m.jordan@...cle.com>,
benh@...nel.crashing.org, paulus@...ba.org,
Andrew Morton <akpm@...ux-foundation.org>,
kirill.shutemov@...ux.intel.com,
Reza Arbab <arbab@...ux.vnet.ibm.com>, schwidefsky@...ibm.com,
Heiko Carstens <heiko.carstens@...ibm.com>, x86@...nel.org,
LKML <linux-kernel@...r.kernel.org>, tglx@...utronix.de,
linuxppc-dev@...ts.ozlabs.org,
Linux Memory Management List <linux-mm@...ck.org>,
linux-s390@...r.kernel.org, mgorman@...hsingularity.net
Subject: Re: [PATCH v1] mm: relax deferred struct page requirements
On 06/19/2018, 09:56 PM, Pavel Tatashin wrote:
> On Tue, Jun 19, 2018 at 9:50 AM Pavel Tatashin
> <pasha.tatashin@...cle.com> wrote:
>>
>> On Sat, Jun 16, 2018 at 4:04 AM Jiri Slaby <jslaby@...e.cz> wrote:
>>>
>>> On 11/21/2017, 08:24 AM, Michal Hocko wrote:
>>>> On Thu 16-11-17 20:46:01, Pavel Tatashin wrote:
>>>>> There is no need to have ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT,
>>>>> as all the page initialization code is in common code.
>>>>>
>>>>> Also, there is no need to depend on MEMORY_HOTPLUG, as initialization code
>>>>> does not really use hotplug memory functionality. So, we can remove this
>>>>> requirement as well.
>>>>>
>>>>> This patch allows to use deferred struct page initialization on all
>>>>> platforms with memblock allocator.
>>>>>
>>>>> Tested on x86, arm64, and sparc. Also, verified that code compiles on
>>>>> PPC with CONFIG_MEMORY_HOTPLUG disabled.
>>>>
>>>> There is slight risk that we will encounter corner cases on some
>>>> architectures with weird memory layout/topology
>>>
>>> Which x86_32-pae seems to be. Many bad page state errors are emitted
>>> during boot when this patch is applied:
>>
>> Hi Jiri,
>>
>> Thank you for reporting this bug.
>>
>> Because 32-bit systems are limited in the maximum amount of physical
>> memory, they don't need deferred struct pages. So, we can add depends
>> on 64BIT to DEFERRED_STRUCT_PAGE_INIT in mm/Kconfig.
>>
>> However, before we do this, I want to try reproducing this problem and
>> root cause it, as it might expose a general problem that is not 32-bit
>> specific.
>
> Hi Jiri,
>
> Could you please attach your config and full qemu arguments that you
> used to reproduce this bug.
Hi,
I seem I never replied. Attaching .config and the qemu cmdline:
$ qemu-kvm -m 2000 -hda /dev/null -kernel bzImage
"-m 2000" is important to reproduce.
If I disable CONFIG_DEFERRED_STRUCT_PAGE_INIT (which the patch allowed
to enable), the error goes away, of course.
thanks,
--
js
suse labs
Download attachment ".config" of type "application/x-config" (203953 bytes)
Powered by blists - more mailing lists