Thread (16 messages) 16 messages, 7 authors, 2018-08-31

Re: [PATCH v1] mm: relax deferred struct page requirements

From: Jiri Slaby <hidden>
Date: 2018-08-24 07:44:46
Also in: linux-mm, linux-s390, lkml

pasha.tatashin@oracle.com -> pavel.tatashin@microsoft.com

due to
 550 5.1.1 Unknown recipient address.


On 08/24/2018, 09:32 AM, Jiri Slaby wrote:
On 06/19/2018, 09:56 PM, Pavel Tatashin wrote:
quoted
On Tue, Jun 19, 2018 at 9:50 AM Pavel Tatashin
[off-list ref] wrote:
quoted
On Sat, Jun 16, 2018 at 4:04 AM Jiri Slaby [off-list ref] wrote:
quoted
On 11/21/2017, 08:24 AM, Michal Hocko wrote:
quoted
On Thu 16-11-17 20:46:01, Pavel Tatashin wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help