* Re: [PATCH v1] mm: relax deferred struct page requirements
2017-11-17 1:46 [PATCH v1] mm: relax deferred struct page requirements Pavel Tatashin
@ 2017-11-17 7:47 ` Heiko Carstens
2017-11-21 7:24 ` Michal Hocko
` (2 subsequent siblings)
3 siblings, 0 replies; 16+ messages in thread
From: Heiko Carstens @ 2017-11-17 7:47 UTC (permalink / raw)
To: Pavel Tatashin
Cc: steven.sistare, daniel.m.jordan, benh, paulus, akpm,
kirill.shutemov, arbab, schwidefsky, x86, linux-kernel, tglx,
linuxppc-dev, mhocko, linux-mm, linux-s390, mgorman
On Thu, Nov 16, 2017 at 08:46:01PM -0500, 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.
>
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> ---
> arch/powerpc/Kconfig | 1 -
> arch/s390/Kconfig | 1 -
> arch/x86/Kconfig | 1 -
> mm/Kconfig | 7 +------
> 4 files changed, 1 insertion(+), 9 deletions(-)
For s390 the s390 bit:
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2017-11-17 1:46 [PATCH v1] mm: relax deferred struct page requirements Pavel Tatashin
2017-11-17 7:47 ` Heiko Carstens
@ 2017-11-21 7:24 ` Michal Hocko
2018-06-16 8:04 ` Jiri Slaby
2017-11-21 14:47 ` Khalid Aziz
2017-11-23 12:52 ` Michael Ellerman
3 siblings, 1 reply; 16+ messages in thread
From: Michal Hocko @ 2017-11-21 7:24 UTC (permalink / raw)
To: Pavel Tatashin
Cc: steven.sistare, daniel.m.jordan, benh, paulus, akpm,
kirill.shutemov, arbab, schwidefsky, heiko.carstens, x86,
linux-kernel, tglx, linuxppc-dev, linux-mm, linux-s390, mgorman
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 but we should better
explicitly disable this code rather than make it opt-in so this looks
like an improvement to me.
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
Acked-by: Michal Hocko <mhocko@suse.com>
> ---
> arch/powerpc/Kconfig | 1 -
> arch/s390/Kconfig | 1 -
> arch/x86/Kconfig | 1 -
> mm/Kconfig | 7 +------
> 4 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index cb782ac1c35d..1540348691c9 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -148,7 +148,6 @@ config PPC
> select ARCH_MIGHT_HAVE_PC_PARPORT
> select ARCH_MIGHT_HAVE_PC_SERIO
> select ARCH_SUPPORTS_ATOMIC_RMW
> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
> select ARCH_USE_BUILTIN_BSWAP
> select ARCH_USE_CMPXCHG_LOCKREF if PPC64
> select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index 863a62a6de3c..525c2e3df6f5 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -108,7 +108,6 @@ config S390
> select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
> select ARCH_SAVE_PAGE_KEYS if HIBERNATION
> select ARCH_SUPPORTS_ATOMIC_RMW
> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
> select ARCH_SUPPORTS_NUMA_BALANCING
> select ARCH_USE_BUILTIN_BSWAP
> select ARCH_USE_CMPXCHG_LOCKREF
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index df3276d6bfe3..00a5446de394 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -69,7 +69,6 @@ config X86
> select ARCH_MIGHT_HAVE_PC_PARPORT
> select ARCH_MIGHT_HAVE_PC_SERIO
> select ARCH_SUPPORTS_ATOMIC_RMW
> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
> select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
> select ARCH_USE_BUILTIN_BSWAP
> select ARCH_USE_QUEUED_RWLOCKS
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 9c4bdddd80c2..c6bd0309ce7a 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -639,15 +639,10 @@ config MAX_STACK_SIZE_MB
>
> A sane initial value is 80 MB.
>
> -# For architectures that support deferred memory initialisation
> -config ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
> - bool
> -
> config DEFERRED_STRUCT_PAGE_INIT
> bool "Defer initialisation of struct pages to kthreads"
> default n
> - depends on ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
> - depends on NO_BOOTMEM && MEMORY_HOTPLUG
> + depends on NO_BOOTMEM
> depends on !FLATMEM
> help
> Ordinarily all struct pages are initialised during early boot in a
> --
> 2.15.0
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2017-11-21 7:24 ` Michal Hocko
@ 2018-06-16 8:04 ` Jiri Slaby
2018-06-19 13:50 ` Pavel Tatashin
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Slaby @ 2018-06-16 8:04 UTC (permalink / raw)
To: Michal Hocko, Pavel Tatashin
Cc: steven.sistare, daniel.m.jordan, benh, paulus, akpm,
kirill.shutemov, arbab, schwidefsky, heiko.carstens, x86,
linux-kernel, tglx, linuxppc-dev, linux-mm, linux-s390, mgorman
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:
BUG: Bad page state in process swapper pfn:3c01c
page:f566c3f0 count:0 mapcount:1 mapping:00000000 index:0x0
flags: 0x0()
raw: 00000000 00000000 00000000 00000000 00000000 00000100 00000200 00000000
raw: 00000000
page dumped because: nonzero mapcount
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Tainted: G B
4.17.1-4.gdf028bb-pae #1 openSUSE Tumbleweed (unreleased)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.0.0-prebuilt.qemu-project.org 04/01/2014
Call Trace:
dump_stack+0x7d/0xbd
bad_page.cold.111+0x90/0xc7
free_pages_check_bad+0x52/0x70
free_pcppages_bulk+0x37d/0x570
free_unref_page_commit+0x9a/0xc0
free_unref_page+0x6a/0xa0
__free_pages+0x17/0x30
free_highmem_page+0x1e/0x50
add_highpages_with_active_regions+0xd6/0x113
set_highmem_pages_init+0x67/0x7d
mem_init+0x23/0x1d9
start_kernel+0x1c2/0x437
i386_start_kernel+0x98/0x9c
startup_32_smp+0x164/0x168
free_pages_check_bad expects mapcount == -1, but it is 1 with this patch.
Reverting the patch makes the BUGs go away -- the config diff is then:
@@ -617,7 +617,7 @@
# CONFIG_PGTABLE_MAPPING is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
-CONFIG_DEFERRED_STRUCT_PAGE_INIT=y
+CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_FRAME_VECTOR=y
# CONFIG_PERCPU_STATS is not set
>> --- a/arch/powerpc/Kconfig
>> +++ b/arch/powerpc/Kconfig
>> @@ -148,7 +148,6 @@ config PPC
>> select ARCH_MIGHT_HAVE_PC_PARPORT
>> select ARCH_MIGHT_HAVE_PC_SERIO
>> select ARCH_SUPPORTS_ATOMIC_RMW
>> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
>> select ARCH_USE_BUILTIN_BSWAP
>> select ARCH_USE_CMPXCHG_LOCKREF if PPC64
>> select ARCH_WANT_IPC_PARSE_VERSION
>> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
>> index 863a62a6de3c..525c2e3df6f5 100644
>> --- a/arch/s390/Kconfig
>> +++ b/arch/s390/Kconfig
>> @@ -108,7 +108,6 @@ config S390
>> select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
>> select ARCH_SAVE_PAGE_KEYS if HIBERNATION
>> select ARCH_SUPPORTS_ATOMIC_RMW
>> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
>> select ARCH_SUPPORTS_NUMA_BALANCING
>> select ARCH_USE_BUILTIN_BSWAP
>> select ARCH_USE_CMPXCHG_LOCKREF
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index df3276d6bfe3..00a5446de394 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -69,7 +69,6 @@ config X86
>> select ARCH_MIGHT_HAVE_PC_PARPORT
>> select ARCH_MIGHT_HAVE_PC_SERIO
>> select ARCH_SUPPORTS_ATOMIC_RMW
>> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
>> select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
>> select ARCH_USE_BUILTIN_BSWAP
>> select ARCH_USE_QUEUED_RWLOCKS
>> diff --git a/mm/Kconfig b/mm/Kconfig
>> index 9c4bdddd80c2..c6bd0309ce7a 100644
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -639,15 +639,10 @@ config MAX_STACK_SIZE_MB
>>
>> A sane initial value is 80 MB.
>>
>> -# For architectures that support deferred memory initialisation
>> -config ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
>> - bool
>> -
>> config DEFERRED_STRUCT_PAGE_INIT
>> bool "Defer initialisation of struct pages to kthreads"
>> default n
>> - depends on ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
>> - depends on NO_BOOTMEM && MEMORY_HOTPLUG
>> + depends on NO_BOOTMEM
>> depends on !FLATMEM
>> help
>> Ordinarily all struct pages are initialised during early boot in a
thanks,
--
js
suse labs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-06-16 8:04 ` Jiri Slaby
@ 2018-06-19 13:50 ` Pavel Tatashin
2018-06-19 19:56 ` Pavel Tatashin
0 siblings, 1 reply; 16+ messages in thread
From: Pavel Tatashin @ 2018-06-19 13:50 UTC (permalink / raw)
To: jslaby
Cc: mhocko, Steven Sistare, Daniel Jordan, benh, paulus,
Andrew Morton, kirill.shutemov, Reza Arbab, schwidefsky,
Heiko Carstens, x86, LKML, tglx, linuxppc-dev,
Linux Memory Management List, linux-s390, mgorman
On Sat, Jun 16, 2018 at 4:04 AM Jiri Slaby <jslaby@suse.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.
Thank you,
Pavel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-06-19 13:50 ` Pavel Tatashin
@ 2018-06-19 19:56 ` Pavel Tatashin
2018-08-24 7:32 ` Jiri Slaby
0 siblings, 1 reply; 16+ messages in thread
From: Pavel Tatashin @ 2018-06-19 19:56 UTC (permalink / raw)
To: jslaby
Cc: mhocko, Steven Sistare, Daniel Jordan, benh, paulus,
Andrew Morton, kirill.shutemov, Reza Arbab, schwidefsky,
Heiko Carstens, x86, LKML, tglx, linuxppc-dev,
Linux Memory Management List, linux-s390, mgorman
On Tue, Jun 19, 2018 at 9:50 AM Pavel Tatashin
<pasha.tatashin@oracle.com> wrote:
>
> On Sat, Jun 16, 2018 at 4:04 AM Jiri Slaby <jslaby@suse.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.
Thank you,
Pavel
>
> Thank you,
> Pavel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-06-19 19:56 ` Pavel Tatashin
@ 2018-08-24 7:32 ` Jiri Slaby
2018-08-24 7:44 ` Jiri Slaby
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Slaby @ 2018-08-24 7:32 UTC (permalink / raw)
To: Pavel Tatashin
Cc: mhocko, Steven Sistare, Daniel Jordan, benh, paulus,
Andrew Morton, kirill.shutemov, Reza Arbab, schwidefsky,
Heiko Carstens, x86, LKML, tglx, linuxppc-dev,
Linux Memory Management List, linux-s390, mgorman
[-- Attachment #1: Type: text/plain, Size: 1978 bytes --]
On 06/19/2018, 09:56 PM, Pavel Tatashin wrote:
> On Tue, Jun 19, 2018 at 9:50 AM Pavel Tatashin
> <pasha.tatashin@oracle.com> wrote:
>>
>> On Sat, Jun 16, 2018 at 4:04 AM Jiri Slaby <jslaby@suse.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
[-- Attachment #2: .config --]
[-- Type: application/x-config, Size: 203953 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-24 7:32 ` Jiri Slaby
@ 2018-08-24 7:44 ` Jiri Slaby
2018-08-30 14:35 ` Pasha Tatashin
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Slaby @ 2018-08-24 7:44 UTC (permalink / raw)
To: pavel.tatashin
Cc: mhocko, Steven Sistare, Daniel Jordan, benh, paulus,
Andrew Morton, kirill.shutemov, Reza Arbab, schwidefsky,
Heiko Carstens, x86, LKML, tglx, linuxppc-dev,
Linux Memory Management List, linux-s390, mgorman
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:
>> On Tue, Jun 19, 2018 at 9:50 AM Pavel Tatashin
>> <pasha.tatashin@oracle.com> wrote:
>>>
>>> On Sat, Jun 16, 2018 at 4:04 AM Jiri Slaby <jslaby@suse.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
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-24 7:44 ` Jiri Slaby
@ 2018-08-30 14:35 ` Pasha Tatashin
2018-08-30 15:45 ` Pasha Tatashin
0 siblings, 1 reply; 16+ messages in thread
From: Pasha Tatashin @ 2018-08-30 14:35 UTC (permalink / raw)
To: Jiri Slaby
Cc: mhocko@kernel.org, Steven Sistare, Daniel Jordan,
benh@kernel.crashing.org, paulus@samba.org, Andrew Morton,
kirill.shutemov@linux.intel.com, Reza Arbab,
schwidefsky@de.ibm.com, Heiko Carstens, x86@kernel.org, LKML,
tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org,
Linux Memory Management List, linux-s390@vger.kernel.org,
mgorman@techsingularity.net
VGhhbmsgeW91IEppcmksIEkgYW0gc3R1ZHlpbmcgaXQuDQoNClBhdmVsDQoNCk9uIDgvMjQvMTgg
Mzo0NCBBTSwgSmlyaSBTbGFieSB3cm90ZToNCj4gcGFzaGEudGF0YXNoaW5Ab3JhY2xlLmNvbSAt
PiBwYXZlbC50YXRhc2hpbkBtaWNyb3NvZnQuY29tDQo+IA0KPiBkdWUgdG8NCj4gIDU1MCA1LjEu
MSBVbmtub3duIHJlY2lwaWVudCBhZGRyZXNzLg0KPiANCj4gDQo+IE9uIDA4LzI0LzIwMTgsIDA5
OjMyIEFNLCBKaXJpIFNsYWJ5IHdyb3RlOg0KPj4gT24gMDYvMTkvMjAxOCwgMDk6NTYgUE0sIFBh
dmVsIFRhdGFzaGluIHdyb3RlOg0KPj4+IE9uIFR1ZSwgSnVuIDE5LCAyMDE4IGF0IDk6NTAgQU0g
UGF2ZWwgVGF0YXNoaW4NCj4+PiA8cGFzaGEudGF0YXNoaW5Ab3JhY2xlLmNvbT4gd3JvdGU6DQo+
Pj4+DQo+Pj4+IE9uIFNhdCwgSnVuIDE2LCAyMDE4IGF0IDQ6MDQgQU0gSmlyaSBTbGFieSA8anNs
YWJ5QHN1c2UuY3o+IHdyb3RlOg0KPj4+Pj4NCj4+Pj4+IE9uIDExLzIxLzIwMTcsIDA4OjI0IEFN
LCBNaWNoYWwgSG9ja28gd3JvdGU6DQo+Pj4+Pj4gT24gVGh1IDE2LTExLTE3IDIwOjQ2OjAxLCBQ
YXZlbCBUYXRhc2hpbiB3cm90ZToNCj4+Pj4+Pj4gVGhlcmUgaXMgbm8gbmVlZCB0byBoYXZlIEFS
Q0hfU1VQUE9SVFNfREVGRVJSRURfU1RSVUNUX1BBR0VfSU5JVCwNCj4+Pj4+Pj4gYXMgYWxsIHRo
ZSBwYWdlIGluaXRpYWxpemF0aW9uIGNvZGUgaXMgaW4gY29tbW9uIGNvZGUuDQo+Pj4+Pj4+DQo+
Pj4+Pj4+IEFsc28sIHRoZXJlIGlzIG5vIG5lZWQgdG8gZGVwZW5kIG9uIE1FTU9SWV9IT1RQTFVH
LCBhcyBpbml0aWFsaXphdGlvbiBjb2RlDQo+Pj4+Pj4+IGRvZXMgbm90IHJlYWxseSB1c2UgaG90
cGx1ZyBtZW1vcnkgZnVuY3Rpb25hbGl0eS4gU28sIHdlIGNhbiByZW1vdmUgdGhpcw0KPj4+Pj4+
PiByZXF1aXJlbWVudCBhcyB3ZWxsLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBUaGlzIHBhdGNoIGFsbG93
cyB0byB1c2UgZGVmZXJyZWQgc3RydWN0IHBhZ2UgaW5pdGlhbGl6YXRpb24gb24gYWxsDQo+Pj4+
Pj4+IHBsYXRmb3JtcyB3aXRoIG1lbWJsb2NrIGFsbG9jYXRvci4NCj4+Pj4+Pj4NCj4+Pj4+Pj4g
VGVzdGVkIG9uIHg4NiwgYXJtNjQsIGFuZCBzcGFyYy4gQWxzbywgdmVyaWZpZWQgdGhhdCBjb2Rl
IGNvbXBpbGVzIG9uDQo+Pj4+Pj4+IFBQQyB3aXRoIENPTkZJR19NRU1PUllfSE9UUExVRyBkaXNh
YmxlZC4NCj4+Pj4+Pg0KPj4+Pj4+IFRoZXJlIGlzIHNsaWdodCByaXNrIHRoYXQgd2Ugd2lsbCBl
bmNvdW50ZXIgY29ybmVyIGNhc2VzIG9uIHNvbWUNCj4+Pj4+PiBhcmNoaXRlY3R1cmVzIHdpdGgg
d2VpcmQgbWVtb3J5IGxheW91dC90b3BvbG9neQ0KPj4+Pj4NCj4+Pj4+IFdoaWNoIHg4Nl8zMi1w
YWUgc2VlbXMgdG8gYmUuIE1hbnkgYmFkIHBhZ2Ugc3RhdGUgZXJyb3JzIGFyZSBlbWl0dGVkDQo+
Pj4+PiBkdXJpbmcgYm9vdCB3aGVuIHRoaXMgcGF0Y2ggaXMgYXBwbGllZDoNCj4+Pj4NCj4+Pj4g
SGkgSmlyaSwNCj4+Pj4NCj4+Pj4gVGhhbmsgeW91IGZvciByZXBvcnRpbmcgdGhpcyBidWcuDQo+
Pj4+DQo+Pj4+IEJlY2F1c2UgMzItYml0IHN5c3RlbXMgYXJlIGxpbWl0ZWQgaW4gdGhlIG1heGlt
dW0gYW1vdW50IG9mIHBoeXNpY2FsDQo+Pj4+IG1lbW9yeSwgdGhleSBkb24ndCBuZWVkIGRlZmVy
cmVkIHN0cnVjdCBwYWdlcy4gU28sIHdlIGNhbiBhZGQgZGVwZW5kcw0KPj4+PiBvbiA2NEJJVCB0
byBERUZFUlJFRF9TVFJVQ1RfUEFHRV9JTklUIGluIG1tL0tjb25maWcuDQo+Pj4+DQo+Pj4+IEhv
d2V2ZXIsIGJlZm9yZSB3ZSBkbyB0aGlzLCBJIHdhbnQgdG8gdHJ5IHJlcHJvZHVjaW5nIHRoaXMg
cHJvYmxlbSBhbmQNCj4+Pj4gcm9vdCBjYXVzZSBpdCwgYXMgaXQgbWlnaHQgZXhwb3NlIGEgZ2Vu
ZXJhbCBwcm9ibGVtIHRoYXQgaXMgbm90IDMyLWJpdA0KPj4+PiBzcGVjaWZpYy4NCj4+Pg0KPj4+
IEhpIEppcmksDQo+Pj4NCj4+PiBDb3VsZCB5b3UgcGxlYXNlIGF0dGFjaCB5b3VyIGNvbmZpZyBh
bmQgZnVsbCBxZW11IGFyZ3VtZW50cyB0aGF0IHlvdQ0KPj4+IHVzZWQgdG8gcmVwcm9kdWNlIHRo
aXMgYnVnLg0KPj4NCj4+IEhpLA0KPj4NCj4+IEkgc2VlbSBJIG5ldmVyIHJlcGxpZWQuIEF0dGFj
aGluZyAuY29uZmlnIGFuZCB0aGUgcWVtdSBjbWRsaW5lOg0KPj4gJCBxZW11LWt2bSAtbSAyMDAw
IC1oZGEgL2Rldi9udWxsIC1rZXJuZWwgYnpJbWFnZQ0KPj4NCj4+ICItbSAyMDAwIiBpcyBpbXBv
cnRhbnQgdG8gcmVwcm9kdWNlLg0KPj4NCj4+IElmIEkgZGlzYWJsZSBDT05GSUdfREVGRVJSRURf
U1RSVUNUX1BBR0VfSU5JVCAod2hpY2ggdGhlIHBhdGNoIGFsbG93ZWQNCj4+IHRvIGVuYWJsZSks
IHRoZSBlcnJvciBnb2VzIGF3YXksIG9mIGNvdXJzZS4NCj4+DQo+PiB0aGFua3MsDQo+Pg0KPiAN
Cj4g
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-30 14:35 ` Pasha Tatashin
@ 2018-08-30 15:45 ` Pasha Tatashin
2018-08-31 11:26 ` Jiri Slaby
0 siblings, 1 reply; 16+ messages in thread
From: Pasha Tatashin @ 2018-08-30 15:45 UTC (permalink / raw)
To: Jiri Slaby
Cc: mhocko@kernel.org, Steven Sistare, Daniel Jordan,
benh@kernel.crashing.org, paulus@samba.org, Andrew Morton,
kirill.shutemov@linux.intel.com, Reza Arbab,
schwidefsky@de.ibm.com, Heiko Carstens, x86@kernel.org, LKML,
tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org,
Linux Memory Management List, linux-s390@vger.kernel.org,
mgorman@techsingularity.net
SGkgSmlyaSwNCg0KSSBiZWxpZXZlIHRoaXMgYnVnIGlzIGZpeGVkIHdpdGggdGhpcyBjaGFuZ2U6
DQoNCmQzOWY4ZmI0Yjc3NzZkY2IwOWVjM2JmN2EzMjE1NDcwODMwNzhlZTMNCm1tOiBtYWtlIERF
RkVSUkVEX1NUUlVDVF9QQUdFX0lOSVQgZXhwbGljaXRseSBkZXBlbmQgb24gU1BBUlNFTUVNDQoN
CkkgYW0gbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgcHJvYmxlbSBvbiB4ODYtMzIuDQoNClBh
dmVsDQoNCk9uIDgvMzAvMTggMTA6MzUgQU0sIFBhdmVsIFRhdGFzaGluIHdyb3RlOg0KPiBUaGFu
ayB5b3UgSmlyaSwgSSBhbSBzdHVkeWluZyBpdC4NCj4gDQo+IFBhdmVsDQo+IA0KPiBPbiA4LzI0
LzE4IDM6NDQgQU0sIEppcmkgU2xhYnkgd3JvdGU6DQo+PiBwYXNoYS50YXRhc2hpbkBvcmFjbGUu
Y29tIC0+IHBhdmVsLnRhdGFzaGluQG1pY3Jvc29mdC5jb20NCj4+DQo+PiBkdWUgdG8NCj4+ICA1
NTAgNS4xLjEgVW5rbm93biByZWNpcGllbnQgYWRkcmVzcy4NCj4+DQo+Pg0KPj4gT24gMDgvMjQv
MjAxOCwgMDk6MzIgQU0sIEppcmkgU2xhYnkgd3JvdGU6DQo+Pj4gT24gMDYvMTkvMjAxOCwgMDk6
NTYgUE0sIFBhdmVsIFRhdGFzaGluIHdyb3RlOg0KPj4+PiBPbiBUdWUsIEp1biAxOSwgMjAxOCBh
dCA5OjUwIEFNIFBhdmVsIFRhdGFzaGluDQo+Pj4+IDxwYXNoYS50YXRhc2hpbkBvcmFjbGUuY29t
PiB3cm90ZToNCj4+Pj4+DQo+Pj4+PiBPbiBTYXQsIEp1biAxNiwgMjAxOCBhdCA0OjA0IEFNIEpp
cmkgU2xhYnkgPGpzbGFieUBzdXNlLmN6PiB3cm90ZToNCj4+Pj4+Pg0KPj4+Pj4+IE9uIDExLzIx
LzIwMTcsIDA4OjI0IEFNLCBNaWNoYWwgSG9ja28gd3JvdGU6DQo+Pj4+Pj4+IE9uIFRodSAxNi0x
MS0xNyAyMDo0NjowMSwgUGF2ZWwgVGF0YXNoaW4gd3JvdGU6DQo+Pj4+Pj4+PiBUaGVyZSBpcyBu
byBuZWVkIHRvIGhhdmUgQVJDSF9TVVBQT1JUU19ERUZFUlJFRF9TVFJVQ1RfUEFHRV9JTklULA0K
Pj4+Pj4+Pj4gYXMgYWxsIHRoZSBwYWdlIGluaXRpYWxpemF0aW9uIGNvZGUgaXMgaW4gY29tbW9u
IGNvZGUuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gQWxzbywgdGhlcmUgaXMgbm8gbmVlZCB0byBkZXBl
bmQgb24gTUVNT1JZX0hPVFBMVUcsIGFzIGluaXRpYWxpemF0aW9uIGNvZGUNCj4+Pj4+Pj4+IGRv
ZXMgbm90IHJlYWxseSB1c2UgaG90cGx1ZyBtZW1vcnkgZnVuY3Rpb25hbGl0eS4gU28sIHdlIGNh
biByZW1vdmUgdGhpcw0KPj4+Pj4+Pj4gcmVxdWlyZW1lbnQgYXMgd2VsbC4NCj4+Pj4+Pj4+DQo+
Pj4+Pj4+PiBUaGlzIHBhdGNoIGFsbG93cyB0byB1c2UgZGVmZXJyZWQgc3RydWN0IHBhZ2UgaW5p
dGlhbGl6YXRpb24gb24gYWxsDQo+Pj4+Pj4+PiBwbGF0Zm9ybXMgd2l0aCBtZW1ibG9jayBhbGxv
Y2F0b3IuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gVGVzdGVkIG9uIHg4NiwgYXJtNjQsIGFuZCBzcGFy
Yy4gQWxzbywgdmVyaWZpZWQgdGhhdCBjb2RlIGNvbXBpbGVzIG9uDQo+Pj4+Pj4+PiBQUEMgd2l0
aCBDT05GSUdfTUVNT1JZX0hPVFBMVUcgZGlzYWJsZWQuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IFRoZXJl
IGlzIHNsaWdodCByaXNrIHRoYXQgd2Ugd2lsbCBlbmNvdW50ZXIgY29ybmVyIGNhc2VzIG9uIHNv
bWUNCj4+Pj4+Pj4gYXJjaGl0ZWN0dXJlcyB3aXRoIHdlaXJkIG1lbW9yeSBsYXlvdXQvdG9wb2xv
Z3kNCj4+Pj4+Pg0KPj4+Pj4+IFdoaWNoIHg4Nl8zMi1wYWUgc2VlbXMgdG8gYmUuIE1hbnkgYmFk
IHBhZ2Ugc3RhdGUgZXJyb3JzIGFyZSBlbWl0dGVkDQo+Pj4+Pj4gZHVyaW5nIGJvb3Qgd2hlbiB0
aGlzIHBhdGNoIGlzIGFwcGxpZWQ6DQo+Pj4+Pg0KPj4+Pj4gSGkgSmlyaSwNCj4+Pj4+DQo+Pj4+
PiBUaGFuayB5b3UgZm9yIHJlcG9ydGluZyB0aGlzIGJ1Zy4NCj4+Pj4+DQo+Pj4+PiBCZWNhdXNl
IDMyLWJpdCBzeXN0ZW1zIGFyZSBsaW1pdGVkIGluIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBwaHlz
aWNhbA0KPj4+Pj4gbWVtb3J5LCB0aGV5IGRvbid0IG5lZWQgZGVmZXJyZWQgc3RydWN0IHBhZ2Vz
LiBTbywgd2UgY2FuIGFkZCBkZXBlbmRzDQo+Pj4+PiBvbiA2NEJJVCB0byBERUZFUlJFRF9TVFJV
Q1RfUEFHRV9JTklUIGluIG1tL0tjb25maWcuDQo+Pj4+Pg0KPj4+Pj4gSG93ZXZlciwgYmVmb3Jl
IHdlIGRvIHRoaXMsIEkgd2FudCB0byB0cnkgcmVwcm9kdWNpbmcgdGhpcyBwcm9ibGVtIGFuZA0K
Pj4+Pj4gcm9vdCBjYXVzZSBpdCwgYXMgaXQgbWlnaHQgZXhwb3NlIGEgZ2VuZXJhbCBwcm9ibGVt
IHRoYXQgaXMgbm90IDMyLWJpdA0KPj4+Pj4gc3BlY2lmaWMuDQo+Pj4+DQo+Pj4+IEhpIEppcmks
DQo+Pj4+DQo+Pj4+IENvdWxkIHlvdSBwbGVhc2UgYXR0YWNoIHlvdXIgY29uZmlnIGFuZCBmdWxs
IHFlbXUgYXJndW1lbnRzIHRoYXQgeW91DQo+Pj4+IHVzZWQgdG8gcmVwcm9kdWNlIHRoaXMgYnVn
Lg0KPj4+DQo+Pj4gSGksDQo+Pj4NCj4+PiBJIHNlZW0gSSBuZXZlciByZXBsaWVkLiBBdHRhY2hp
bmcgLmNvbmZpZyBhbmQgdGhlIHFlbXUgY21kbGluZToNCj4+PiAkIHFlbXUta3ZtIC1tIDIwMDAg
LWhkYSAvZGV2L251bGwgLWtlcm5lbCBiekltYWdlDQo+Pj4NCj4+PiAiLW0gMjAwMCIgaXMgaW1w
b3J0YW50IHRvIHJlcHJvZHVjZS4NCj4+Pg0KPj4+IElmIEkgZGlzYWJsZSBDT05GSUdfREVGRVJS
RURfU1RSVUNUX1BBR0VfSU5JVCAod2hpY2ggdGhlIHBhdGNoIGFsbG93ZWQNCj4+PiB0byBlbmFi
bGUpLCB0aGUgZXJyb3IgZ29lcyBhd2F5LCBvZiBjb3Vyc2UuDQo+Pj4NCj4+PiB0aGFua3MsDQo+
Pj4NCj4+DQo+Pg==
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-30 15:45 ` Pasha Tatashin
@ 2018-08-31 11:26 ` Jiri Slaby
2018-08-31 11:29 ` Jiri Slaby
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Slaby @ 2018-08-31 11:26 UTC (permalink / raw)
To: Pasha Tatashin
Cc: mhocko@kernel.org, Steven Sistare, Daniel Jordan,
benh@kernel.crashing.org, paulus@samba.org, Andrew Morton,
kirill.shutemov@linux.intel.com, Reza Arbab,
schwidefsky@de.ibm.com, Heiko Carstens, x86@kernel.org, LKML,
tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org,
Linux Memory Management List, linux-s390@vger.kernel.org,
mgorman@techsingularity.net
[-- Attachment #1: Type: text/plain, Size: 409 bytes --]
On 08/30/2018, 05:45 PM, Pasha Tatashin wrote:
> Hi Jiri,
>
> I believe this bug is fixed with this change:
>
> d39f8fb4b7776dcb09ec3bf7a321547083078ee3
> mm: make DEFERRED_STRUCT_PAGE_INIT explicitly depend on SPARSEMEM
Hi,
it only shifted. Enabling only SPARSEMEM works fine, enabling also
DEFERRED_STRUCT_PAGE_INIT doesn't even boot – immediately reboots
(config attached).
thanks,
--
js
suse labs
[-- Attachment #2: .config --]
[-- Type: application/x-config, Size: 206264 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-31 11:26 ` Jiri Slaby
@ 2018-08-31 11:29 ` Jiri Slaby
2018-08-31 12:10 ` Pasha Tatashin
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Slaby @ 2018-08-31 11:29 UTC (permalink / raw)
To: Pasha Tatashin
Cc: mhocko@kernel.org, Steven Sistare, Daniel Jordan,
benh@kernel.crashing.org, paulus@samba.org, Andrew Morton,
kirill.shutemov@linux.intel.com, Reza Arbab,
schwidefsky@de.ibm.com, Heiko Carstens, x86@kernel.org, LKML,
tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org,
Linux Memory Management List, linux-s390@vger.kernel.org,
mgorman@techsingularity.net
On 08/31/2018, 01:26 PM, Jiri Slaby wrote:
> On 08/30/2018, 05:45 PM, Pasha Tatashin wrote:
>> Hi Jiri,
>>
>> I believe this bug is fixed with this change:
>>
>> d39f8fb4b7776dcb09ec3bf7a321547083078ee3
>> mm: make DEFERRED_STRUCT_PAGE_INIT explicitly depend on SPARSEMEM
>
> Hi,
>
> it only shifted. Enabling only SPARSEMEM works fine, enabling also
> DEFERRED_STRUCT_PAGE_INIT doesn't even boot – immediately reboots
> (config attached).
Wow, earlyprintk is up at the moment of crash already:
[ 0.000000] Linux version 4.19.0-rc1-pae (jslaby@kunlun) (gcc version
4.8.5 (SUSE Linux)) #4 SMP PREEMPT Fri Aug 31 13:18:33 CEST 2018
[ 0.000000] x86/fpu: x87 FPU will use FXSAVE
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff]
reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff]
reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007cfdffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000007cfe0000-0x000000007cffffff]
reserved
[ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff]
reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff]
reserved
[ 0.000000] bootconsole [earlyser0] enabled
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.8 present.
[ 0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.0.0-prebuilt.qemu-project.org 04/01/2014
[ 0.000000] Hypervisor detected: KVM
[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[ 0.000002] kvm-clock: cpu 0, msr 1d12c001, primary cpu clock
[ 0.000002] kvm-clock: using sched offset of 1597117996 cycles
[ 0.001395] clocksource: kvm-clock: mask: 0xffffffffffffffff
max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[ 0.006245] tsc: Detected 2808.000 MHz processor
[ 0.010055] last_pfn = 0x7cfe0 max_arch_pfn = 0x1000000
[ 0.011483] x86/PAT: PAT not supported by CPU.
[ 0.012580] x86/PAT: Configuration [0-7]: WB WT UC- UC WB WT UC-
UC
[ 0.020644] found SMP MP-table at [mem 0x000f5d20-0x000f5d2f] mapped
at [(ptrval)]
[ 0.023528] Scanning 1 areas for low memory corruption
[ 0.025047] ACPI: Early table checksum verification disabled
[ 0.026581] ACPI: RSDP 0x00000000000F5B40 000014 (v00 BOCHS )
[ 0.028031] ACPI: RSDT 0x000000007CFE157C 000030 (v01 BOCHS BXPCRSDT
00000001 BXPC 00000001)
[ 0.029996] ACPI: FACP 0x000000007CFE1458 000074 (v01 BOCHS BXPCFACP
00000001 BXPC 00000001)
[ 0.032234] ACPI: DSDT 0x000000007CFE0040 001418 (v01 BOCHS BXPCDSDT
00000001 BXPC 00000001)
[ 0.034662] ACPI: FACS 0x000000007CFE0000 000040
[ 0.036126] ACPI: APIC 0x000000007CFE14CC 000078 (v01 BOCHS BXPCAPIC
00000001 BXPC 00000001)
[ 0.038235] ACPI: HPET 0x000000007CFE1544 000038 (v01 BOCHS BXPCHPET
00000001 BXPC 00000001)
[ 0.040373] No NUMA configuration found
[ 0.041407] Faking a node at [mem 0x0000000000000000-0x000000007cfdffff]
[ 0.043306] NODE_DATA(0) allocated [mem 0x367fc000-0x367fcfff]
[ 0.044958] 1127MB HIGHMEM available.
[ 0.045940] 871MB LOWMEM available.
[ 0.046978] mapped low ram: 0 - 367fe000
[ 0.048200] low ram: 0 - 367fe000
[ 0.050830] Zone ranges:
[ 0.051625] DMA [mem 0x0000000000001000-0x0000000000ffffff]
[ 0.053295] Normal [mem 0x0000000001000000-0x00000000367fdfff]
[ 0.054921] HighMem [mem 0x00000000367fe000-0x000000007cfdffff]
[ 0.056408] Movable zone start for each node
[ 0.057452] Early memory node ranges
[ 0.058377] node 0: [mem 0x0000000000001000-0x000000000009efff]
[ 0.059946] node 0: [mem 0x0000000000100000-0x000000007cfdffff]
[ 0.061825] Reserved but unavailable: 12418 pages
[ 0.061828] Initmem setup node 0 [mem
0x0000000000001000-0x000000007cfdffff]
[ 0.074252] Using APIC driver default
[ 0.075615] ACPI: PM-Timer IO Port: 0x608
[ 0.076574] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[ 0.077995] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI
0-23
[ 0.079610] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.081111] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[ 0.082786] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.084297] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[ 0.085933] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[ 0.087729] Using ACPI (MADT) for SMP configuration information
[ 0.089119] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[ 0.090351] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[ 0.091561] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[ 0.093361] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[ 0.096382] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[ 0.098130] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[ 0.099729] [mem 0x7d000000-0xfeffbfff] available for PCI devices
[ 0.101034] Booting paravirtualized kernel on KVM
[ 0.102034] clocksource: refined-jiffies: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[ 0.104207] random: get_random_bytes called from
start_kernel+0x77/0x47c with crng_init=0
[ 0.105913] setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:1
nr_node_ids:1
[ 0.107548] percpu: Embedded 31 pages/cpu @(ptrval) s94604 r0 d32372
u126976
[ 0.109019] KVM setup async PF for cpu 0
[ 0.109825] kvm-stealtime: cpu 0, msr 367e5300
[ 0.110755] Built 1 zonelists, mobility grouping on. Total pages: 509908
[ 0.112113] Policy zone: HighMem
[ 0.112755] Kernel command line: earlyprintk=serial
[ 0.113773] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[ 0.115788] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[ 0.117465] Initializing CPU#0
[ 0.118522] Initializing HighMem for node 0 (000367fe:0007cfe0)
[ 0.161140] BUG: unable to handle kernel NULL pointer dereference at
00000028
[ 0.162671] *pdpt = 0000000000000000 *pde = f000ff53f000ff53
[ 0.163857] Oops: 0000 [#1] PREEMPT SMP PTI
[ 0.164862] CPU: 0 PID: 0 Comm: swapper Not tainted 4.19.0-rc1-pae #4
openSUSE Tumbleweed (unreleased)
[ 0.167041] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
[ 0.169389] EIP: free_unref_page_prepare.part.75+0x26/0x50
[ 0.170337] Code: 00 00 00 00 e8 e7 a4 e9 ff 89 d1 c1 ea 11 55 8b 14
d5 84 d2 1c dd c1 e9 07 89 e5 56 81 e1 fc 03 00 00 53 89 cb c1 eb 05 89
ce <8b> 14 9a 83 e6 1f b9 1d 00 00 00 29 f1 d3 ea 83 e2 07 89 50 10 b8
[ 0.174205] EAX: f4cfa000 EBX: 0000000a ECX: 00000150 EDX: 00000000
[ 0.175422] ESI: 00000150 EDI: 00d80000 EBP: dcf2be50 ESP: dcf2be48
[ 0.176724] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00210007
[ 0.178075] CR0: 80050033 CR2: 00000028 CR3: 1d118000 CR4: 000006b0
[ 0.179354] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 0.180629] DR6: fffe0ff0 DR7: 00000400
[ 0.181400] Call Trace:
[ 0.181907] free_unref_page+0x3a/0x90
[ 0.182642] __free_pages+0x25/0x30
[ 0.183748] free_highmem_page+0x1e/0x50
[ 0.184594] add_highpages_with_active_regions+0x123/0x125
[ 0.185813] set_highmem_pages_init+0x83/0x8d
[ 0.186847] mem_init+0x26/0x240
[ 0.187590] ? vprintk_func+0x38/0xd0
[ 0.188427] ? idt_setup_from_table.constprop.1+0x45/0x70
[ 0.189666] ? set_intr_gate+0x39/0x40
[ 0.190551] ? general_protection+0xc/0xc
[ 0.191818] ? update_intr_gate+0x1e/0x20
[ 0.192817] ? kvm_apf_trap_init+0x17/0x19
[ 0.193800] ? trap_init+0x77/0x7d
[ 0.194644] start_kernel+0x203/0x47c
[ 0.195491] ? set_init_arg+0x57/0x57
[ 0.196385] i386_start_kernel+0x143/0x146
[ 0.197351] startup_32_smp+0x164/0x168
[ 0.198232] Modules linked in:
[ 0.199072] CR2: 0000000000000028
[ 0.199983] ---[ end trace 69f4a864c8bd9bcd ]---
[ 0.201198] EIP: free_unref_page_prepare.part.75+0x26/0x50
[ 0.202610] Code: 00 00 00 00 e8 e7 a4 e9 ff 89 d1 c1 ea 11 55 8b 14
d5 84 d2 1c dd c1 e9 07 89 e5 56 81 e1 fc 03 00 00 53 89 cb c1 eb 05 89
ce <8b> 14 9a 83 e6 1f b9 1d 00 00 00 29 f1 d3 ea 83 e2 07 89 50 10 b8
[ 0.206942] EAX: f4cfa000 EBX: 0000000a ECX: 00000150 EDX: 00000000
[ 0.208177] ESI: 00000150 EDI: 00d80000 EBP: dcf2be50 ESP: dd11fefc
[ 0.209438] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00210007
[ 0.210826] CR0: 80050033 CR2: 00000028 CR3: 1d118000 CR4: 000006b0
[ 0.212155] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 0.213752] DR6: fffe0ff0 DR7: 00000400
>
> thanks,
>
--
js
suse labs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-31 11:29 ` Jiri Slaby
@ 2018-08-31 12:10 ` Pasha Tatashin
2018-08-31 12:28 ` Jiri Slaby
0 siblings, 1 reply; 16+ messages in thread
From: Pasha Tatashin @ 2018-08-31 12:10 UTC (permalink / raw)
To: Jiri Slaby
Cc: mhocko@kernel.org, Steven Sistare, Daniel Jordan,
benh@kernel.crashing.org, paulus@samba.org, Andrew Morton,
kirill.shutemov@linux.intel.com, Reza Arbab,
schwidefsky@de.ibm.com, Heiko Carstens, x86@kernel.org, LKML,
tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org,
Linux Memory Management List, linux-s390@vger.kernel.org,
mgorman@techsingularity.net
VGhhbmtzIEppcmksIEkgYW0gbm93IGFibGUgdG8gcmVwcm9kdWNlIGl0IHdpdGggeW91ciBuZXcg
Y29uZmlnLg0KDQpJIGhhdmUgdHJpZWQgeWVzdGVyZGF5IHRvIGVuYWJsZSBzcGFyc2VtZW0gYW5k
IGRlZmVycmVkX3N0cnVjdF9pbml0IG9uDQp4ODZfMzIsIGFuZCB0aGF0IGtlcm5lbCBib290ZWQg
ZmluZSwgdGhlcmUgbXVzdCBiZSBzb21ldGhpbmcgZWxzZSBpbg0KeW91ciBjb25maWcgdGhhdCBo
ZWxwcyB0byB0cmlnZ2VyIHRoaXMgcHJvYmxlbS4gSSBhbSBzdHVkeWluZyBpdCBub3cuDQoNClsg
ICAgMC4wNTEyNDVdIEluaXRpYWxpemluZyBDUFUjMA0KWyAgICAwLjA1MTY4Ml0gSW5pdGlhbGl6
aW5nIEhpZ2hNZW0gZm9yIG5vZGUgMCAoMDAwMzY3ZmU6MDAwN2ZmZTApDQpbICAgIDAuMDY3NDk5
XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBh
dA0KMDAwMDAwMjgNClsgICAgMC4wNjg0NTJdICpwZHB0ID0gMDAwMDAwMDAwMDAwMDAwMCAqcGRl
ID0gZjAwMGZmNTNmMDAwZmY1Mw0KWyAgICAwLjA2OTEwNV0gT29wczogMDAwMCBbIzFdIFBSRUVN
UFQgU01QIFBUSQ0KWyAgICAwLjA2OTU5NV0gQ1BVOiAwIFBJRDogMCBDb21tOiBzd2FwcGVyIE5v
dCB0YWludGVkDQo0LjE5LjAtcmMxLXBhZV9wdF9qaXJpICMxDQpbICAgIDAuMDcwMzgyXSBIYXJk
d2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwNCkJJT1Mg
MS4xMS4wLTIwMTcxMTEwXzEwMDAxNS1hbmF0b2wgMDQvMDEvMjAxNA0KWyAgICAwLjA3MTU0NV0g
RUlQOiBmcmVlX3VucmVmX3BhZ2VfcHJlcGFyZS5wYXJ0LjcwKzB4MmMvMHg1MA0KWyAgICAwLjA3
MjE3OF0gQ29kZTogMTkgZTkgZmYgODkgZDEgNTUgYzEgZWEgMTEgYzEgZTkgMDcgOGIgMTQgZDUg
NDQgNTINCmZkIGQ2IDgxIGUxIGZjIDAzIDAwIDAwIDg5IGU1IDU2IDUzIDg5IGNiIGJlIDFkIDAw
IDAwIDAwIGMxIGViIDA1IDgzIGUxDQoxZiA8OGI+IDE0IDlhIDI5IGNlIDg5IGYxIGQzIGVhIDgz
IGUyIDA3IDg5IDUwIDEwIGI4IDAxIDAwIDAwIDAwIDViIDVlDQpbICAgIDAuMDc0Mjk2XSBFQVg6
IGY0Y2ZhMDAwIEVCWDogMDAwMDAwMGEgRUNYOiAwMDAwMDAxMCBFRFg6IDAwMDAwMDAwDQpbICAg
IDAuMDc1MDA1XSBFU0k6IDAwMDAwMDFkIEVESTogMDAwN2ZmZTAgRUJQOiBkNmQ0MWVkMCBFU1A6
IGQ2ZDQxZWM4DQpbICAgIDAuMDc1NzE0XSBEUzogMDA3YiBFUzogMDA3YiBGUzogMDBkOCBHUzog
MDBlMCBTUzogMDA2OCBFRkxBR1M6IDAwMjEwMDAyDQpbICAgIDAuMDc2NTA4XSBDUjA6IDgwMDUw
MDMzIENSMjogMDAwMDAwMjggQ1IzOiAxNmYyMDAwMCBDUjQ6IDAwMDQwNmIwDQpbICAgIDAuMDc3
MjQyXSBEUjA6IDAwMDAwMDAwIERSMTogMDAwMDAwMDAgRFIyOiAwMDAwMDAwMCBEUjM6IDAwMDAw
MDAwDQpbICAgIDAuMDc3OTM0XSBEUjY6IGZmZmUwZmYwIERSNzogMDAwMDA0MDANClsgICAgMC4w
NzgzODBdIENhbGwgVHJhY2U6DQpbICAgIDAuMDc4NjcwXSAgZnJlZV91bnJlZl9wYWdlKzB4M2Ev
MHg5MA0KWyAgICAwLjA3OTEzNl0gIF9fZnJlZV9wYWdlcysweDI1LzB4MzANClsgICAgMC4wNzk1
MzNdICBmcmVlX2hpZ2htZW1fcGFnZSsweDFlLzB4NTANClsgICAgMC4wNzk5NzhdICBhZGRfaGln
aHBhZ2VzX3dpdGhfYWN0aXZlX3JlZ2lvbnMrMHhkMS8weDExZg0KWyAgICAwLjA4MDU5Ml0gIHNl
dF9oaWdobWVtX3BhZ2VzX2luaXQrMHg2Ny8weDdkDQpbICAgIDAuMDgxMDc2XSAgbWVtX2luaXQr
MHgzMC8weDFmYw0KWyAgICAwLjA4MTQzNF0gIHN0YXJ0X2tlcm5lbCsweDFjYy8weDQ0Yw0KWyAg
ICAwLjA4MTg3NF0gIGkzODZfc3RhcnRfa2VybmVsKzB4OTgvMHg5Yw0KWyAgICAwLjA4MjQwMV0g
IHN0YXJ0dXBfMzJfc21wKzB4MTY0LzB4MTY4DQpbICAgIDAuMDgyODczXSBNb2R1bGVzIGxpbmtl
ZCBpbjoNClsgICAgMC4wODMyMjhdIENSMjogMDAwMDAwMDAwMDAwMDAyOA0KWyAgICAwLjA4MzYw
Nl0gLS0tWyBlbmQgdHJhY2UgYTU5OTBkOWFjZTJlYzk5MCBdLS0tDQpbICAgIDAuMDg0MTI4XSBF
SVA6IGZyZWVfdW5yZWZfcGFnZV9wcmVwYXJlLnBhcnQuNzArMHgyYy8weDUwDQpbICAgIDAuMDg0
NzQ3XSBDb2RlOiAxOSBlOSBmZiA4OSBkMSA1NSBjMSBlYSAxMSBjMSBlOSAwNyA4YiAxNCBkNSA0
NCA1Mg0KZmQgZDYgODEgZTEgZmMgMDMgMDAgMDAgODkgZTUgNTYgNTMgODkgY2IgYmUgMWQgMDAg
MDAgMDAgYzEgZWIgMDUgODMgZTENCjFmIDw4Yj4gMTQgOWEgMjkgY2UgODkgZjEgZDMgZWEgODMg
ZTIgMDcgODkgNTAgMTAgYjggMDEgMDAgMDAgMDAgNWIgNWUNClsgICAgMC4wODY4NzRdIEVBWDog
ZjRjZmEwMDAgRUJYOiAwMDAwMDAwYSBFQ1g6IDAwMDAwMDEwIEVEWDogMDAwMDAwMDANClsgICAg
MC4wODc1ODFdIEVTSTogMDAwMDAwMWQgRURJOiAwMDA3ZmZlMCBFQlA6IGQ2ZDQxZWQwIEVTUDog
ZDZmMjdlZmMNClsgICAgMC4wODgyODddIERTOiAwMDdiIEVTOiAwMDdiIEZTOiAwMGQ4IEdTOiAw
MGUwIFNTOiAwMDY4IEVGTEFHUzogMDAyMTAwMDINClsgICAgMC4wODkxMzldIENSMDogODAwNTAw
MzMgQ1IyOiAwMDAwMDAyOCBDUjM6IDE2ZjIwMDAwIENSNDogMDAwNDA2YjANClsgICAgMC4wODk4
NTBdIERSMDogMDAwMDAwMDAgRFIxOiAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwIERSMzogMDAwMDAw
MDANClsgICAgMC4wOTA1NTddIERSNjogZmZmZTBmZjAgRFI3OiAwMDAwMDQwMA0KWyAgICAwLjA5
MDk5Ml0gS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEF0dGVtcHRlZCB0byBraWxsIHRoZSBp
ZGxlIHRhc2shDQoNCg0KUGF2ZWwNCg0KT24gOC8zMS8xOCA3OjI5IEFNLCBKaXJpIFNsYWJ5IHdy
b3RlOg0KPiBPbiAwOC8zMS8yMDE4LCAwMToyNiBQTSwgSmlyaSBTbGFieSB3cm90ZToNCj4+IE9u
IDA4LzMwLzIwMTgsIDA1OjQ1IFBNLCBQYXNoYSBUYXRhc2hpbiB3cm90ZToNCj4+PiBIaSBKaXJp
LA0KPj4+DQo+Pj4gSSBiZWxpZXZlIHRoaXMgYnVnIGlzIGZpeGVkIHdpdGggdGhpcyBjaGFuZ2U6
DQo+Pj4NCj4+PiBkMzlmOGZiNGI3Nzc2ZGNiMDllYzNiZjdhMzIxNTQ3MDgzMDc4ZWUzDQo+Pj4g
bW06IG1ha2UgREVGRVJSRURfU1RSVUNUX1BBR0VfSU5JVCBleHBsaWNpdGx5IGRlcGVuZCBvbiBT
UEFSU0VNRU0NCj4+DQo+PiBIaSwNCj4+DQo+PiBpdCBvbmx5IHNoaWZ0ZWQuIEVuYWJsaW5nIG9u
bHkgU1BBUlNFTUVNIHdvcmtzIGZpbmUsIGVuYWJsaW5nIGFsc28NCj4+IERFRkVSUkVEX1NUUlVD
VF9QQUdFX0lOSVQgZG9lc24ndCBldmVuIGJvb3Qg4oCTIGltbWVkaWF0ZWx5IHJlYm9vdHMNCj4+
IChjb25maWcgYXR0YWNoZWQpLg0KPiANCj4gV293LCBlYXJseXByaW50ayBpcyB1cCBhdCB0aGUg
bW9tZW50IG9mIGNyYXNoIGFscmVhZHk6DQo+IFsgICAgMC4wMDAwMDBdIExpbnV4IHZlcnNpb24g
NC4xOS4wLXJjMS1wYWUgKGpzbGFieUBrdW5sdW4pIChnY2MgdmVyc2lvbg0KPiA0LjguNSAoU1VT
RSBMaW51eCkpICM0IFNNUCBQUkVFTVBUIEZyaSBBdWcgMzEgMTM6MTg6MzMgQ0VTVCAyMDE4DQo+
IFsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6IHg4NyBGUFUgd2lsbCB1c2UgRlhTQVZFDQo+IFsgICAg
MC4wMDAwMDBdIEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoNCj4gWyAgICAwLjAwMDAw
MF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwMDAwOWZiZmZd
IHVzYWJsZQ0KPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDAwMDlm
YzAwLTB4MDAwMDAwMDAwMDA5ZmZmZl0NCj4gcmVzZXJ2ZWQNCj4gWyAgICAwLjAwMDAwMF0gQklP
Uy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDBmMDAwMC0weDAwMDAwMDAwMDAwZmZmZmZdDQo+IHJl
c2VydmVkDQo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAxMDAw
MDAtMHgwMDAwMDAwMDdjZmRmZmZmXSB1c2FibGUNCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIw
OiBbbWVtIDB4MDAwMDAwMDA3Y2ZlMDAwMC0weDAwMDAwMDAwN2NmZmZmZmZdDQo+IHJlc2VydmVk
DQo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwZmVmZmMwMDAtMHgw
MDAwMDAwMGZlZmZmZmZmXQ0KPiByZXNlcnZlZA0KPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6
IFttZW0gMHgwMDAwMDAwMGZmZmMwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0NCj4gcmVzZXJ2ZWQN
Cj4gWyAgICAwLjAwMDAwMF0gYm9vdGNvbnNvbGUgW2Vhcmx5c2VyMF0gZW5hYmxlZA0KPiBbICAg
IDAuMDAwMDAwXSBOWCAoRXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmUNCj4gWyAg
ICAwLjAwMDAwMF0gU01CSU9TIDIuOCBwcmVzZW50Lg0KPiBbICAgIDAuMDAwMDAwXSBETUk6IFFF
TVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TDQo+IDEuMC4wLXByZWJ1
aWx0LnFlbXUtcHJvamVjdC5vcmcgMDQvMDEvMjAxNA0KPiBbICAgIDAuMDAwMDAwXSBIeXBlcnZp
c29yIGRldGVjdGVkOiBLVk0NCj4gWyAgICAwLjAwMDAwMF0ga3ZtLWNsb2NrOiBVc2luZyBtc3Jz
IDRiNTY0ZDAxIGFuZCA0YjU2NGQwMA0KPiBbICAgIDAuMDAwMDAyXSBrdm0tY2xvY2s6IGNwdSAw
LCBtc3IgMWQxMmMwMDEsIHByaW1hcnkgY3B1IGNsb2NrDQo+IFsgICAgMC4wMDAwMDJdIGt2bS1j
bG9jazogdXNpbmcgc2NoZWQgb2Zmc2V0IG9mIDE1OTcxMTc5OTYgY3ljbGVzDQo+IFsgICAgMC4w
MDEzOTVdIGNsb2Nrc291cmNlOiBrdm0tY2xvY2s6IG1hc2s6IDB4ZmZmZmZmZmZmZmZmZmZmZg0K
PiBtYXhfY3ljbGVzOiAweDFjZDQyZTRkZmZiLCBtYXhfaWRsZV9uczogODgxNTkwNTkxNDgzIG5z
DQo+IFsgICAgMC4wMDYyNDVdIHRzYzogRGV0ZWN0ZWQgMjgwOC4wMDAgTUh6IHByb2Nlc3Nvcg0K
PiBbICAgIDAuMDEwMDU1XSBsYXN0X3BmbiA9IDB4N2NmZTAgbWF4X2FyY2hfcGZuID0gMHgxMDAw
MDAwDQo+IFsgICAgMC4wMTE0ODNdIHg4Ni9QQVQ6IFBBVCBub3Qgc3VwcG9ydGVkIGJ5IENQVS4N
Cj4gWyAgICAwLjAxMjU4MF0geDg2L1BBVDogQ29uZmlndXJhdGlvbiBbMC03XTogV0IgIFdUICBV
Qy0gVUMgIFdCICBXVCAgVUMtDQo+IFVDDQo+IFsgICAgMC4wMjA2NDRdIGZvdW5kIFNNUCBNUC10
YWJsZSBhdCBbbWVtIDB4MDAwZjVkMjAtMHgwMDBmNWQyZl0gbWFwcGVkDQo+IGF0IFsocHRydmFs
KV0NCj4gWyAgICAwLjAyMzUyOF0gU2Nhbm5pbmcgMSBhcmVhcyBmb3IgbG93IG1lbW9yeSBjb3Jy
dXB0aW9uDQo+IFsgICAgMC4wMjUwNDddIEFDUEk6IEVhcmx5IHRhYmxlIGNoZWNrc3VtIHZlcmlm
aWNhdGlvbiBkaXNhYmxlZA0KPiBbICAgIDAuMDI2NTgxXSBBQ1BJOiBSU0RQIDB4MDAwMDAwMDAw
MDBGNUI0MCAwMDAwMTQgKHYwMCBCT0NIUyApDQo+IFsgICAgMC4wMjgwMzFdIEFDUEk6IFJTRFQg
MHgwMDAwMDAwMDdDRkUxNTdDIDAwMDAzMCAodjAxIEJPQ0hTICBCWFBDUlNEVA0KPiAwMDAwMDAw
MSBCWFBDIDAwMDAwMDAxKQ0KPiBbICAgIDAuMDI5OTk2XSBBQ1BJOiBGQUNQIDB4MDAwMDAwMDA3
Q0ZFMTQ1OCAwMDAwNzQgKHYwMSBCT0NIUyAgQlhQQ0ZBQ1ANCj4gMDAwMDAwMDEgQlhQQyAwMDAw
MDAwMSkNCj4gWyAgICAwLjAzMjIzNF0gQUNQSTogRFNEVCAweDAwMDAwMDAwN0NGRTAwNDAgMDAx
NDE4ICh2MDEgQk9DSFMgIEJYUENEU0RUDQo+IDAwMDAwMDAxIEJYUEMgMDAwMDAwMDEpDQo+IFsg
ICAgMC4wMzQ2NjJdIEFDUEk6IEZBQ1MgMHgwMDAwMDAwMDdDRkUwMDAwIDAwMDA0MA0KPiBbICAg
IDAuMDM2MTI2XSBBQ1BJOiBBUElDIDB4MDAwMDAwMDA3Q0ZFMTRDQyAwMDAwNzggKHYwMSBCT0NI
UyAgQlhQQ0FQSUMNCj4gMDAwMDAwMDEgQlhQQyAwMDAwMDAwMSkNCj4gWyAgICAwLjAzODIzNV0g
QUNQSTogSFBFVCAweDAwMDAwMDAwN0NGRTE1NDQgMDAwMDM4ICh2MDEgQk9DSFMgIEJYUENIUEVU
DQo+IDAwMDAwMDAxIEJYUEMgMDAwMDAwMDEpDQo+IFsgICAgMC4wNDAzNzNdIE5vIE5VTUEgY29u
ZmlndXJhdGlvbiBmb3VuZA0KPiBbICAgIDAuMDQxNDA3XSBGYWtpbmcgYSBub2RlIGF0IFttZW0g
MHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDA3Y2ZkZmZmZl0NCj4gWyAgICAwLjA0MzMwNl0g
Tk9ERV9EQVRBKDApIGFsbG9jYXRlZCBbbWVtIDB4MzY3ZmMwMDAtMHgzNjdmY2ZmZl0NCj4gWyAg
ICAwLjA0NDk1OF0gMTEyN01CIEhJR0hNRU0gYXZhaWxhYmxlLg0KPiBbICAgIDAuMDQ1OTQwXSA4
NzFNQiBMT1dNRU0gYXZhaWxhYmxlLg0KPiBbICAgIDAuMDQ2OTc4XSAgIG1hcHBlZCBsb3cgcmFt
OiAwIC0gMzY3ZmUwMDANCj4gWyAgICAwLjA0ODIwMF0gICBsb3cgcmFtOiAwIC0gMzY3ZmUwMDAN
Cj4gWyAgICAwLjA1MDgzMF0gWm9uZSByYW5nZXM6DQo+IFsgICAgMC4wNTE2MjVdICAgRE1BICAg
ICAgW21lbSAweDAwMDAwMDAwMDAwMDEwMDAtMHgwMDAwMDAwMDAwZmZmZmZmXQ0KPiBbICAgIDAu
MDUzMjk1XSAgIE5vcm1hbCAgIFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDAzNjdm
ZGZmZl0NCj4gWyAgICAwLjA1NDkyMV0gICBIaWdoTWVtICBbbWVtIDB4MDAwMDAwMDAzNjdmZTAw
MC0weDAwMDAwMDAwN2NmZGZmZmZdDQo+IFsgICAgMC4wNTY0MDhdIE1vdmFibGUgem9uZSBzdGFy
dCBmb3IgZWFjaCBub2RlDQo+IFsgICAgMC4wNTc0NTJdIEVhcmx5IG1lbW9yeSBub2RlIHJhbmdl
cw0KPiBbICAgIDAuMDU4Mzc3XSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMTAwMC0w
eDAwMDAwMDAwMDAwOWVmZmZdDQo+IFsgICAgMC4wNTk5NDZdICAgbm9kZSAgIDA6IFttZW0gMHgw
MDAwMDAwMDAwMTAwMDAwLTB4MDAwMDAwMDA3Y2ZkZmZmZl0NCj4gWyAgICAwLjA2MTgyNV0gUmVz
ZXJ2ZWQgYnV0IHVuYXZhaWxhYmxlOiAxMjQxOCBwYWdlcw0KPiBbICAgIDAuMDYxODI4XSBJbml0
bWVtIHNldHVwIG5vZGUgMCBbbWVtDQo+IDB4MDAwMDAwMDAwMDAwMTAwMC0weDAwMDAwMDAwN2Nm
ZGZmZmZdDQo+IFsgICAgMC4wNzQyNTJdIFVzaW5nIEFQSUMgZHJpdmVyIGRlZmF1bHQNCj4gWyAg
ICAwLjA3NTYxNV0gQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg2MDgNCj4gWyAgICAwLjA3NjU3
NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4ZmZdIGRmbCBkZmwgbGludFsweDFdKQ0KPiBb
ICAgIDAuMDc3OTk1XSBJT0FQSUNbMF06IGFwaWNfaWQgMCwgdmVyc2lvbiAxNywgYWRkcmVzcyAw
eGZlYzAwMDAwLCBHU0kNCj4gMC0yMw0KPiBbICAgIDAuMDc5NjEwXSBBQ1BJOiBJTlRfU1JDX09W
UiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQ0KPiBbICAgIDAuMDgxMTEx
XSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSA1IGdsb2JhbF9pcnEgNSBoaWdoIGxl
dmVsKQ0KPiBbICAgIDAuMDgyNzg2XSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSA5
IGdsb2JhbF9pcnEgOSBoaWdoIGxldmVsKQ0KPiBbICAgIDAuMDg0Mjk3XSBBQ1BJOiBJTlRfU1JD
X09WUiAoYnVzIDAgYnVzX2lycSAxMCBnbG9iYWxfaXJxIDEwIGhpZ2ggbGV2ZWwpDQo+IFsgICAg
MC4wODU5MzNdIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDExIGdsb2JhbF9pcnEg
MTEgaGlnaCBsZXZlbCkNCj4gWyAgICAwLjA4NzcyOV0gVXNpbmcgQUNQSSAoTUFEVCkgZm9yIFNN
UCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uDQo+IFsgICAgMC4wODkxMTldIEFDUEk6IEhQRVQg
aWQ6IDB4ODA4NmEyMDEgYmFzZTogMHhmZWQwMDAwMA0KPiBbICAgIDAuMDkwMzUxXSBzbXBib290
OiBBbGxvd2luZyAxIENQVXMsIDAgaG90cGx1ZyBDUFVzDQo+IFsgICAgMC4wOTE1NjFdIFBNOiBS
ZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQ0KPiBb
ICAgIDAuMDkzMzYxXSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4MDAwOWYw
MDAtMHgwMDA5ZmZmZl0NCj4gWyAgICAwLjA5NjM4Ml0gUE06IFJlZ2lzdGVyZWQgbm9zYXZlIG1l
bW9yeTogW21lbSAweDAwMGEwMDAwLTB4MDAwZWZmZmZdDQo+IFsgICAgMC4wOTgxMzBdIFBNOiBS
ZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHgwMDBmMDAwMC0weDAwMGZmZmZmXQ0KPiBb
ICAgIDAuMDk5NzI5XSBbbWVtIDB4N2QwMDAwMDAtMHhmZWZmYmZmZl0gYXZhaWxhYmxlIGZvciBQ
Q0kgZGV2aWNlcw0KPiBbICAgIDAuMTAxMDM0XSBCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJu
ZWwgb24gS1ZNDQo+IFsgICAgMC4xMDIwMzRdIGNsb2Nrc291cmNlOiByZWZpbmVkLWppZmZpZXM6
IG1hc2s6IDB4ZmZmZmZmZmYNCj4gbWF4X2N5Y2xlczogMHhmZmZmZmZmZiwgbWF4X2lkbGVfbnM6
IDc2NDU1MTk2MDAyMTE1NjggbnMNCj4gWyAgICAwLjEwNDIwN10gcmFuZG9tOiBnZXRfcmFuZG9t
X2J5dGVzIGNhbGxlZCBmcm9tDQo+IHN0YXJ0X2tlcm5lbCsweDc3LzB4NDdjIHdpdGggY3JuZ19p
bml0PTANCj4gWyAgICAwLjEwNTkxM10gc2V0dXBfcGVyY3B1OiBOUl9DUFVTOjY0IG5yX2NwdW1h
c2tfYml0czo2NCBucl9jcHVfaWRzOjENCj4gbnJfbm9kZV9pZHM6MQ0KPiBbICAgIDAuMTA3NTQ4
XSBwZXJjcHU6IEVtYmVkZGVkIDMxIHBhZ2VzL2NwdSBAKHB0cnZhbCkgczk0NjA0IHIwIGQzMjM3
Mg0KPiB1MTI2OTc2DQo+IFsgICAgMC4xMDkwMTldIEtWTSBzZXR1cCBhc3luYyBQRiBmb3IgY3B1
IDANCj4gWyAgICAwLjEwOTgyNV0ga3ZtLXN0ZWFsdGltZTogY3B1IDAsIG1zciAzNjdlNTMwMA0K
PiBbICAgIDAuMTEwNzU1XSBCdWlsdCAxIHpvbmVsaXN0cywgbW9iaWxpdHkgZ3JvdXBpbmcgb24u
ICBUb3RhbCBwYWdlczogNTA5OTA4DQo+IFsgICAgMC4xMTIxMTNdIFBvbGljeSB6b25lOiBIaWdo
TWVtDQo+IFsgICAgMC4xMTI3NTVdIEtlcm5lbCBjb21tYW5kIGxpbmU6IGVhcmx5cHJpbnRrPXNl
cmlhbA0KPiBbICAgIDAuMTEzNzczXSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAx
MzEwNzIgKG9yZGVyOiA3LCA1MjQyODgNCj4gYnl0ZXMpDQo+IFsgICAgMC4xMTU3ODhdIElub2Rl
LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA2LCAyNjIxNDQNCj4gYnl0
ZXMpDQo+IFsgICAgMC4xMTc0NjVdIEluaXRpYWxpemluZyBDUFUjMA0KPiBbICAgIDAuMTE4NTIy
XSBJbml0aWFsaXppbmcgSGlnaE1lbSBmb3Igbm9kZSAwICgwMDAzNjdmZTowMDA3Y2ZlMCkNCj4g
WyAgICAwLjE2MTE0MF0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIg
ZGVyZWZlcmVuY2UgYXQNCj4gMDAwMDAwMjgNCj4gWyAgICAwLjE2MjY3MV0gKnBkcHQgPSAwMDAw
MDAwMDAwMDAwMDAwICpwZGUgPSBmMDAwZmY1M2YwMDBmZjUzDQo+IFsgICAgMC4xNjM4NTddIE9v
cHM6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBQVEkNCj4gWyAgICAwLjE2NDg2Ml0gQ1BVOiAwIFBJ
RDogMCBDb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDQuMTkuMC1yYzEtcGFlICM0DQo+IG9wZW5T
VVNFIFR1bWJsZXdlZWQgKHVucmVsZWFzZWQpDQo+IFsgICAgMC4xNjcwNDFdIEhhcmR3YXJlIG5h
bWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLA0KPiBCSU9TIDEuMC4w
LXByZWJ1aWx0LnFlbXUtcHJvamVjdC5vcmcgMDQvMDEvMjAxNA0KPiBbICAgIDAuMTY5Mzg5XSBF
SVA6IGZyZWVfdW5yZWZfcGFnZV9wcmVwYXJlLnBhcnQuNzUrMHgyNi8weDUwDQo+IFsgICAgMC4x
NzAzMzddIENvZGU6IDAwIDAwIDAwIDAwIGU4IGU3IGE0IGU5IGZmIDg5IGQxIGMxIGVhIDExIDU1
IDhiIDE0DQo+IGQ1IDg0IGQyIDFjIGRkIGMxIGU5IDA3IDg5IGU1IDU2IDgxIGUxIGZjIDAzIDAw
IDAwIDUzIDg5IGNiIGMxIGViIDA1IDg5DQo+IGNlIDw4Yj4gMTQgOWEgODMgZTYgMWYgYjkgMWQg
MDAgMDAgMDAgMjkgZjEgZDMgZWEgODMgZTIgMDcgODkgNTAgMTAgYjgNCj4gWyAgICAwLjE3NDIw
NV0gRUFYOiBmNGNmYTAwMCBFQlg6IDAwMDAwMDBhIEVDWDogMDAwMDAxNTAgRURYOiAwMDAwMDAw
MA0KPiBbICAgIDAuMTc1NDIyXSBFU0k6IDAwMDAwMTUwIEVESTogMDBkODAwMDAgRUJQOiBkY2Yy
YmU1MCBFU1A6IGRjZjJiZTQ4DQo+IFsgICAgMC4xNzY3MjRdIERTOiAwMDdiIEVTOiAwMDdiIEZT
OiAwMGQ4IEdTOiAwMGUwIFNTOiAwMDY4IEVGTEFHUzogMDAyMTAwMDcNCj4gWyAgICAwLjE3ODA3
NV0gQ1IwOiA4MDA1MDAzMyBDUjI6IDAwMDAwMDI4IENSMzogMWQxMTgwMDAgQ1I0OiAwMDAwMDZi
MA0KPiBbICAgIDAuMTc5MzU0XSBEUjA6IDAwMDAwMDAwIERSMTogMDAwMDAwMDAgRFIyOiAwMDAw
MDAwMCBEUjM6IDAwMDAwMDAwDQo+IFsgICAgMC4xODA2MjldIERSNjogZmZmZTBmZjAgRFI3OiAw
MDAwMDQwMA0KPiBbICAgIDAuMTgxNDAwXSBDYWxsIFRyYWNlOg0KPiBbICAgIDAuMTgxOTA3XSAg
ZnJlZV91bnJlZl9wYWdlKzB4M2EvMHg5MA0KPiBbICAgIDAuMTgyNjQyXSAgX19mcmVlX3BhZ2Vz
KzB4MjUvMHgzMA0KPiBbICAgIDAuMTgzNzQ4XSAgZnJlZV9oaWdobWVtX3BhZ2UrMHgxZS8weDUw
DQo+IFsgICAgMC4xODQ1OTRdICBhZGRfaGlnaHBhZ2VzX3dpdGhfYWN0aXZlX3JlZ2lvbnMrMHgx
MjMvMHgxMjUNCj4gWyAgICAwLjE4NTgxM10gIHNldF9oaWdobWVtX3BhZ2VzX2luaXQrMHg4My8w
eDhkDQo+IFsgICAgMC4xODY4NDddICBtZW1faW5pdCsweDI2LzB4MjQwDQo+IFsgICAgMC4xODc1
OTBdICA/IHZwcmludGtfZnVuYysweDM4LzB4ZDANCj4gWyAgICAwLjE4ODQyN10gID8gaWR0X3Nl
dHVwX2Zyb21fdGFibGUuY29uc3Rwcm9wLjErMHg0NS8weDcwDQo+IFsgICAgMC4xODk2NjZdICA/
IHNldF9pbnRyX2dhdGUrMHgzOS8weDQwDQo+IFsgICAgMC4xOTA1NTFdICA/IGdlbmVyYWxfcHJv
dGVjdGlvbisweGMvMHhjDQo+IFsgICAgMC4xOTE4MThdICA/IHVwZGF0ZV9pbnRyX2dhdGUrMHgx
ZS8weDIwDQo+IFsgICAgMC4xOTI4MTddICA/IGt2bV9hcGZfdHJhcF9pbml0KzB4MTcvMHgxOQ0K
PiBbICAgIDAuMTkzODAwXSAgPyB0cmFwX2luaXQrMHg3Ny8weDdkDQo+IFsgICAgMC4xOTQ2NDRd
ICBzdGFydF9rZXJuZWwrMHgyMDMvMHg0N2MNCj4gWyAgICAwLjE5NTQ5MV0gID8gc2V0X2luaXRf
YXJnKzB4NTcvMHg1Nw0KPiBbICAgIDAuMTk2Mzg1XSAgaTM4Nl9zdGFydF9rZXJuZWwrMHgxNDMv
MHgxNDYNCj4gWyAgICAwLjE5NzM1MV0gIHN0YXJ0dXBfMzJfc21wKzB4MTY0LzB4MTY4DQo+IFsg
ICAgMC4xOTgyMzJdIE1vZHVsZXMgbGlua2VkIGluOg0KPiBbICAgIDAuMTk5MDcyXSBDUjI6IDAw
MDAwMDAwMDAwMDAwMjgNCj4gWyAgICAwLjE5OTk4M10gLS0tWyBlbmQgdHJhY2UgNjlmNGE4NjRj
OGJkOWJjZCBdLS0tDQo+IFsgICAgMC4yMDExOThdIEVJUDogZnJlZV91bnJlZl9wYWdlX3ByZXBh
cmUucGFydC43NSsweDI2LzB4NTANCj4gWyAgICAwLjIwMjYxMF0gQ29kZTogMDAgMDAgMDAgMDAg
ZTggZTcgYTQgZTkgZmYgODkgZDEgYzEgZWEgMTEgNTUgOGIgMTQNCj4gZDUgODQgZDIgMWMgZGQg
YzEgZTkgMDcgODkgZTUgNTYgODEgZTEgZmMgMDMgMDAgMDAgNTMgODkgY2IgYzEgZWIgMDUgODkN
Cj4gY2UgPDhiPiAxNCA5YSA4MyBlNiAxZiBiOSAxZCAwMCAwMCAwMCAyOSBmMSBkMyBlYSA4MyBl
MiAwNyA4OSA1MCAxMCBiOA0KPiBbICAgIDAuMjA2OTQyXSBFQVg6IGY0Y2ZhMDAwIEVCWDogMDAw
MDAwMGEgRUNYOiAwMDAwMDE1MCBFRFg6IDAwMDAwMDAwDQo+IFsgICAgMC4yMDgxNzddIEVTSTog
MDAwMDAxNTAgRURJOiAwMGQ4MDAwMCBFQlA6IGRjZjJiZTUwIEVTUDogZGQxMWZlZmMNCj4gWyAg
ICAwLjIwOTQzOF0gRFM6IDAwN2IgRVM6IDAwN2IgRlM6IDAwZDggR1M6IDAwZTAgU1M6IDAwNjgg
RUZMQUdTOiAwMDIxMDAwNw0KPiBbICAgIDAuMjEwODI2XSBDUjA6IDgwMDUwMDMzIENSMjogMDAw
MDAwMjggQ1IzOiAxZDExODAwMCBDUjQ6IDAwMDAwNmIwDQo+IFsgICAgMC4yMTIxNTVdIERSMDog
MDAwMDAwMDAgRFIxOiAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwIERSMzogMDAwMDAwMDANCj4gWyAg
ICAwLjIxMzc1Ml0gRFI2OiBmZmZlMGZmMCBEUjc6IDAwMDAwNDAwDQo+IA0KPiANCj4+DQo+PiB0
aGFua3MsDQo+Pg0KPiANCj4g
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2018-08-31 12:10 ` Pasha Tatashin
@ 2018-08-31 12:28 ` Jiri Slaby
0 siblings, 0 replies; 16+ messages in thread
From: Jiri Slaby @ 2018-08-31 12:28 UTC (permalink / raw)
To: Pasha Tatashin
Cc: mhocko@kernel.org, Steven Sistare, Daniel Jordan,
benh@kernel.crashing.org, paulus@samba.org, Andrew Morton,
kirill.shutemov@linux.intel.com, Reza Arbab,
schwidefsky@de.ibm.com, Heiko Carstens, x86@kernel.org, LKML,
tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org,
Linux Memory Management List, linux-s390@vger.kernel.org,
mgorman@techsingularity.net
On 08/31/2018, 02:10 PM, Pasha Tatashin wrote:
> Thanks Jiri, I am now able to reproduce it with your new config.
>
> I have tried yesterday to enable sparsemem and deferred_struct_init on
> x86_32, and that kernel booted fine, there must be something else in
> your config that helps to trigger this problem. I am studying it now.
>
> [ 0.051245] Initializing CPU#0
> [ 0.051682] Initializing HighMem for node 0 (000367fe:0007ffe0)
> [ 0.067499] BUG: unable to handle kernel NULL pointer dereference at
> 00000028
> [ 0.068452] *pdpt = 0000000000000000 *pde = f000ff53f000ff53
> [ 0.069105] Oops: 0000 [#1] PREEMPT SMP PTI
> [ 0.069595] CPU: 0 PID: 0 Comm: swapper Not tainted
> 4.19.0-rc1-pae_pt_jiri #1
> [ 0.070382] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
> BIOS 1.11.0-20171110_100015-anatol 04/01/2014
> [ 0.071545] EIP: free_unref_page_prepare.part.70+0x2c/0x50
> [ 0.072178] Code: 19 e9 ff 89 d1 55 c1 ea 11 c1 e9 07 8b 14 d5 44 52
> fd d6 81 e1 fc 03 00 00 89 e5 56 53 89 cb be 1d 00 00 00 c1 eb 05 83 e1
> 1f <8b> 14 9a 29 ce 89 f1 d3 ea 83 e2 07 89 50 10 b8 01 00 00 00 5b 5e
> [ 0.074296] EAX: f4cfa000 EBX: 0000000a ECX: 00000010 EDX: 00000000
> [ 0.075005] ESI: 0000001d EDI: 0007ffe0 EBP: d6d41ed0 ESP: d6d41ec8
> [ 0.075714] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00210002
> [ 0.076508] CR0: 80050033 CR2: 00000028 CR3: 16f20000 CR4: 000406b0
> [ 0.077242] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
> [ 0.077934] DR6: fffe0ff0 DR7: 00000400
> [ 0.078380] Call Trace:
> [ 0.078670] free_unref_page+0x3a/0x90
> [ 0.079136] __free_pages+0x25/0x30
> [ 0.079533] free_highmem_page+0x1e/0x50
> [ 0.079978] add_highpages_with_active_regions+0xd1/0x11f
> [ 0.080592] set_highmem_pages_init+0x67/0x7d
> [ 0.081076] mem_init+0x30/0x1fc
page_to_pfn(pfn_to_page(pfn)) != pfn with my .config on pfns >= 0x60000:
[ 0.157667] add_highpages_with_active_regions: pfn=5fffb pg=f55f9f4c
pfn(pg(pfn)=5fffb sec=2
[ 0.159231] add_highpages_with_active_regions: pfn=5fffc pg=f55f9f70
pfn(pg(pfn)=5fffc sec=2
[ 0.161020] add_highpages_with_active_regions: pfn=5fffd pg=f55f9f94
pfn(pg(pfn)=5fffd sec=2
[ 0.163149] add_highpages_with_active_regions: pfn=5fffe pg=f55f9fb8
pfn(pg(pfn)=5fffe sec=2
[ 0.165204] add_highpages_with_active_regions: pfn=5ffff pg=f55f9fdc
pfn(pg(pfn)=5ffff sec=2
[ 0.167216] add_highpages_with_active_regions: pfn=60000 pg=f4cfa000
pfn(pg(pfn)=c716a800 sec=3
So add_highpages_with_active_regions passes down page to
free_highmem_page and later, free_unref_page does page_to_pfn(page) and
__get_pfnblock_flags_mask operates on this modified pfn leading to crash
– __pfn_to_section(pfn)->pageblock_flags is NULL!
Note that __pfn_to_section(pfn)->pageblock_flags on the original pfn
returns a valid bitmap.
thanks,
--
js
suse labs
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2017-11-17 1:46 [PATCH v1] mm: relax deferred struct page requirements Pavel Tatashin
2017-11-17 7:47 ` Heiko Carstens
2017-11-21 7:24 ` Michal Hocko
@ 2017-11-21 14:47 ` Khalid Aziz
2017-11-23 12:52 ` Michael Ellerman
3 siblings, 0 replies; 16+ messages in thread
From: Khalid Aziz @ 2017-11-21 14:47 UTC (permalink / raw)
To: Pavel Tatashin, steven.sistare, daniel.m.jordan, benh, paulus,
akpm, kirill.shutemov, arbab, schwidefsky, heiko.carstens, x86,
linux-kernel, tglx, linuxppc-dev, mhocko, linux-mm, linux-s390,
mgorman
On Thu, 2017-11-16 at 20:46 -0500, 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.
>=20
> 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.
>=20
> This patch allows to use deferred struct page initialization on all
> platforms with memblock allocator.
>=20
> Tested on x86, arm64, and sparc. Also, verified that code compiles on
> PPC with CONFIG_MEMORY_HOTPLUG disabled.
>=20
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> ---
> =C2=A0arch/powerpc/Kconfig | 1 -
> =C2=A0arch/s390/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0| 1 -
> =C2=A0arch/x86/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0| 1 -
> =C2=A0mm/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0| 7 +------
> =C2=A04 files changed, 1 insertion(+), 9 deletions(-)
>=20
>=20
Looks reasonable to me.
Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v1] mm: relax deferred struct page requirements
2017-11-17 1:46 [PATCH v1] mm: relax deferred struct page requirements Pavel Tatashin
` (2 preceding siblings ...)
2017-11-21 14:47 ` Khalid Aziz
@ 2017-11-23 12:52 ` Michael Ellerman
3 siblings, 0 replies; 16+ messages in thread
From: Michael Ellerman @ 2017-11-23 12:52 UTC (permalink / raw)
To: Pavel Tatashin, steven.sistare, daniel.m.jordan, benh, paulus,
akpm, kirill.shutemov, arbab, schwidefsky, heiko.carstens, x86,
linux-kernel, tglx, linuxppc-dev, mhocko, linux-mm, linux-s390,
mgorman
Pavel Tatashin <pasha.tatashin@oracle.com> writes:
> 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.
>
> Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
> ---
> arch/powerpc/Kconfig | 1 -
> arch/s390/Kconfig | 1 -
> arch/x86/Kconfig | 1 -
> mm/Kconfig | 7 +------
> 4 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index cb782ac1c35d..1540348691c9 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -148,7 +148,6 @@ config PPC
> select ARCH_MIGHT_HAVE_PC_PARPORT
> select ARCH_MIGHT_HAVE_PC_SERIO
> select ARCH_SUPPORTS_ATOMIC_RMW
> - select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
cheers
^ permalink raw reply [flat|nested] 16+ messages in thread