linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/1] mm: memmap defer init dosn't work as expected
@ 2020-12-23  8:08 Baoquan He
  2020-12-23  8:08 ` [PATCH v3 1/1] " Baoquan He
  0 siblings, 1 reply; 2+ messages in thread
From: Baoquan He @ 2020-12-23  8:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-mm, akpm, gopakumarr, rppt, david, bhe

Post the regression fix in a standalone patch as Andrew suggested for
-stable branch better back porting. This is rebased on the latest
master branch of mainline kenrel, surely there's almost no change
comparing with v2.
https://lore.kernel.org/linux-mm/20201220082754.6900-1-bhe@redhat.com/

Tested on a system with 24G ram as below, adding 'memmap=128M!0x500000000'
to split the one ram region into two regions in numa node1 to simulate
the scenario of VMware.

[  +0.000000] BIOS-provided physical RAM map:
[  +0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009bfff] usable
[  +0.000000] BIOS-e820: [mem 0x000000000009c000-0x000000000009ffff] reserved
[  +0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[  +0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000006cdcefff] usable
[  +0.000000] BIOS-e820: [mem 0x000000006cdcf000-0x000000006efcefff] reserved
[  +0.000000] BIOS-e820: [mem 0x000000006efcf000-0x000000006fdfefff] ACPI NVS
[  +0.000000] BIOS-e820: [mem 0x000000006fdff000-0x000000006fffefff] ACPI data
[  +0.000000] BIOS-e820: [mem 0x000000006ffff000-0x000000006fffffff] usable
[  +0.000000] BIOS-e820: [mem 0x0000000070000000-0x000000008fffffff] reserved
[  +0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000ffffffff] reserved
[  +0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000067f1fffff] usable
[  +0.000000] BIOS-e820: [mem 0x000000067f200000-0x000000067fffffff] reserved

Test passed as below. As you can see, with patch applied, memmap init
will cost much less time on numa node 1:

Without the patch:
[    0.065029] Early memory node ranges
[    0.065030]   node   0: [mem 0x0000000000001000-0x000000000009bfff]
[    0.065032]   node   0: [mem 0x0000000000100000-0x000000006cdcefff]
[    0.065034]   node   0: [mem 0x000000006ffff000-0x000000006fffffff]
[    0.065036]   node   0: [mem 0x0000000100000000-0x000000027fffffff]
[    0.065038]   node   1: [mem 0x0000000280000000-0x00000004ffffffff]
[    0.065040]   node   1: [mem 0x0000000508000000-0x000000067f1fffff]
[    0.065185] Zeroed struct page in unavailable ranges: 16533 pages
[    0.065187] Initmem setup node 0 [mem 0x0000000000001000-0x000000027fffffff]
[    0.069616] Initmem setup node 1 [mem 0x0000000280000000-0x000000067f1fffff]
[    0.096298] ACPI: PM-Timer IO Port: 0x408

With the patch applied:
[    0.065029] Early memory node ranges
[    0.065030]   node   0: [mem 0x0000000000001000-0x000000000009bfff]
[    0.065032]   node   0: [mem 0x0000000000100000-0x000000006cdcefff]
[    0.065034]   node   0: [mem 0x000000006ffff000-0x000000006fffffff]
[    0.065036]   node   0: [mem 0x0000000100000000-0x000000027fffffff]
[    0.065038]   node   1: [mem 0x0000000280000000-0x00000004ffffffff]
[    0.065041]   node   1: [mem 0x0000000508000000-0x000000067f1fffff]
[    0.065187] Zeroed struct page in unavailable ranges: 16533 pages
[    0.065189] Initmem setup node 0 [mem 0x0000000000001000-0x000000027fffffff]
[    0.069572] Initmem setup node 1 [mem 0x0000000280000000-0x000000067f1fffff]
[    0.070161] ACPI: PM-Timer IO Port: 0x408


Baoquan He (1):
  mm: memmap defer init dosn't work as expected

 arch/ia64/mm/init.c | 4 ++--
 include/linux/mm.h  | 5 +++--
 mm/memory_hotplug.c | 2 +-
 mm/page_alloc.c     | 8 +++++---
 4 files changed, 11 insertions(+), 8 deletions(-)

-- 
2.17.2



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-12-23  8:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-23  8:08 [PATCH v3 0/1] mm: memmap defer init dosn't work as expected Baoquan He
2020-12-23  8:08 ` [PATCH v3 1/1] " Baoquan He

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox