[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5adf3aa2.KzXjDEYeEMmXnD/e%lkp@intel.com>
Date: Tue, 24 Apr 2018 22:09:38 +0800
From: kernel test robot <lkp@...el.com>
To: Pavel Tatashin <pasha.tatashin@...cle.com>
Cc: LKP <lkp@...org>, linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Linux Memory Management List <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Steven Sistare <steven.sistare@...cle.com>,
Daniel Jordan <daniel.m.jordan@...cle.com>, wfg@...ux.intel.com
Subject: c9e97a1997 ("mm: initialize pages on demand during boot"): BUG:
kernel reboot-without-warning in early-boot stage, last printk: early
console in setup code
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5
Author: Pavel Tatashin <pasha.tatashin@...cle.com>
AuthorDate: Thu Apr 5 16:22:31 2018 -0700
Commit: Linus Torvalds <torvalds@...ux-foundation.org>
CommitDate: Thu Apr 5 21:36:25 2018 -0700
mm: initialize pages on demand during boot
Deferred page initialization allows the boot cpu to initialize a small
subset of the system's pages early in boot, with other cpus doing the
rest later on.
It is, however, problematic to know how many pages the kernel needs
during boot. Different modules and kernel parameters may change the
requirement, so the boot cpu either initializes too many pages or runs
out of memory.
To fix that, initialize early pages on demand. This ensures the kernel
does the minimum amount of work to initialize pages during boot and
leaves the rest to be divided in the multithreaded initialization path
(deferred_init_memmap).
The on-demand code is permanently disabled using static branching once
deferred pages are initialized. After the static branch is changed to
false, the overhead is up-to two branch-always instructions if the zone
watermark check fails or if rmqueue fails.
Sergey Senozhatsky noticed that while deferred pages currently make
sense only on NUMA machines (we start one thread per latency node),
CONFIG_NUMA is not a requirement for CONFIG_DEFERRED_STRUCT_PAGE_INIT,
so that is also must be addressed in the patch.
[akpm@...ux-foundation.org: fix typo in comment, make deferred_pages static]
[pasha.tatashin@...cle.com: fix min() type mismatch warning]
Link: http://lkml.kernel.org/r/20180212164543.26592-1-pasha.tatashin@oracle.com
[pasha.tatashin@...cle.com: use zone_to_nid() in deferred_grow_zone()]
Link: http://lkml.kernel.org/r/20180214163343.21234-2-pasha.tatashin@oracle.com
[pasha.tatashin@...cle.com: might_sleep warning]
Link: http://lkml.kernel.org/r/20180306192022.28289-1-pasha.tatashin@oracle.com
[akpm@...ux-foundation.org: s/spin_lock/spin_lock_irq/ in page_alloc_init_late()]
[pasha.tatashin@...cle.com: v5]
Link: http://lkml.kernel.org/r/20180309220807.24961-3-pasha.tatashin@oracle.com
[akpm@...ux-foundation.org: tweak comments]
[pasha.tatashin@...cle.com: v6]
Link: http://lkml.kernel.org/r/20180313182355.17669-3-pasha.tatashin@oracle.com
[akpm@...ux-foundation.org: coding-style fixes]
Link: http://lkml.kernel.org/r/20180209192216.20509-2-pasha.tatashin@oracle.com
Signed-off-by: Pavel Tatashin <pasha.tatashin@...cle.com>
Reviewed-by: Daniel Jordan <daniel.m.jordan@...cle.com>
Reviewed-by: Steven Sistare <steven.sistare@...cle.com>
Reviewed-by: Andrew Morton <akpm@...ux-foundation.org>
Tested-by: Masayoshi Mizuma <m.mizuma@...fujitsu.com>
Acked-by: Mel Gorman <mgorman@...e.de>
Cc: Michal Hocko <mhocko@...e.com>
Cc: Catalin Marinas <catalin.marinas@....com>
Cc: AKASHI Takahiro <takahiro.akashi@...aro.org>
Cc: Gioh Kim <gi-oh.kim@...fitbricks.com>
Cc: Heiko Carstens <heiko.carstens@...ibm.com>
Cc: Yaowei Bai <baiyaowei@...s.chinamobile.com>
Cc: Wei Yang <richard.weiyang@...il.com>
Cc: Paul Burton <paul.burton@...s.com>
Cc: Miles Chen <miles.chen@...iatek.com>
Cc: Vlastimil Babka <vbabka@...e.cz>
Cc: Johannes Weiner <hannes@...xchg.org>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.org>
3a2d7fa8a3 mm: disable interrupts while initializing deferred pages
c9e97a1997 mm: initialize pages on demand during boot
6d08b06e67 Linux 4.17-rc2
43cd1f4979 Add linux-next specific files for 20180424
+-----------------------------------------------------------------------------------------------+------------+------------+-----------+---------------+
| | 3a2d7fa8a3 | c9e97a1997 | v4.17-rc2 | next-20180424 |
+-----------------------------------------------------------------------------------------------+------------+------------+-----------+---------------+
| boot_successes | 45 | 10 | 1 | 0 |
| boot_failures | 0 | 8 | 17 | 10 |
| BUG:kernel_reboot-without-warning_in_early-boot_stage,last_printk:early_console_in_setup_code | 0 | 8 | 12 | 10 |
| BUG:unable_to_handle_kernel | 0 | 0 | 5 | |
| Oops:#[##] | 0 | 0 | 5 | |
| RIP:llc_ui_release | 0 | 0 | 5 | |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 0 | 5 | |
+-----------------------------------------------------------------------------------------------+------------+------------+-----------+---------------+
early console in setup code
BUG: kernel reboot-without-warning in early-boot stage, last printk: early console in setup code
Linux version 4.16.0-07313-gc9e97a1 #1
Command line: root=/dev/ram0 hung_task_panic=1 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw link=/kbuild-tests/run-queue/quantal-lkp-hsw01/x86_64-randconfig-b0-04131753/linux-devel:devel-spot-201804131640:c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5:bisect-linux-32/.vmlinuz-c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5-20180424201327-4:quantal-lkp-hsw01-20 branch=linux-devel/devel-spot-201804131640 BOOT_IMAGE=/pkg/linux/x86_64-randconfig-b0-04131753/gcc-7/c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5/vmlinuz-4.16.0-07313-gc9e97a1 drbd.minor_count=8 rcuperf.shutdown=0
# HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 8ffb4bb96d48382882e468abdd313c1347a8d949 0adb32858b0bddf4ada5f364a84ed60b196dbcda --
git bisect bad 86488bd4631bbf00ca4c8f53fce2e42768e1f268 # 16:35 B 0 1 14 0 Merge 'linux-review/Pierre-Yves-MORDRET/Add-different-features-for-I2C/20180413-042757' into devel-spot-201804131640
git bisect bad 96b791d4a59de0bb9ed5cf25325d44014eb98847 # 16:53 B 0 9 22 0 Merge 'linux-review/Andrey-Konovalov/kasan-add-no_sanitize-attribute-for-clang-builds/20180413-104156' into devel-spot-201804131640
git bisect bad 39479b2c194e447d3a0aca34d9a55bc74fc69945 # 17:03 B 0 1 14 0 Merge 'linux-review/Kai-Heng-Feng/dell-led-Change-dell-led-h-to-dell-common-h/20180413-143830' into devel-spot-201804131640
git bisect bad c6bbecf209ac3ddeb5d517f1b7612bdfecd4476f # 17:12 B 0 1 14 0 Merge 'mkp-scsi/fixes' into devel-spot-201804131640
git bisect good 52ac9a3dbd75042abdd28419932c434b512e36a2 # 17:22 G 14 0 0 0 Merge 'powerpc/merge' into devel-spot-201804131640
git bisect bad 48eb8be9087e1bda27d42a94f8b74c47e001ce50 # 17:36 B 0 5 18 0 Merge 'powerpc/fixes' into devel-spot-201804131640
git bisect good 147a89bc71e7db40f011454a40add7ff2d10f8d8 # 17:45 G 14 0 0 0 Merge tag 'kconfig-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
git bisect bad 97b1255cb27c551d7c3c5c496d787da40772da99 # 17:53 B 0 8 24 3 mm,oom_reaper: check for MMF_OOM_SKIP before complaining
git bisect good f9ca6a561d40115696a54f16085c4edb17effc74 # 18:13 G 14 0 0 0 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
git bisect good 049b5e2ae30b3c2f870cc9550af6f9a947fbd5b5 # 18:24 G 14 0 0 0 staging: rtl8723bs: Remove yield call, replace with cond_resched()
git bisect good 9abf8acea297b4c65f5fa3206e2b8e468e730e84 # 18:34 G 14 0 0 0 Merge tag 'tty-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect good 86f690e8bfd124c38940e7ad58875ef383003348 # 18:45 G 13 0 0 0 Merge tag 'stm-intel_th-for-greg-20180329' of git://git.kernel.org/pub/scm/linux/kernel/git/ash/stm into char-misc-next
git bisect good 56d8ceebd39b4db3248291e6d1e3e696fc73b077 # 19:13 G 14 0 0 0 slub: make ->max_attr_size unsigned int
git bisect bad 03f5d58fa42fb337b921e57f8e2c2d4df7df890d # 19:30 B 0 7 20 0 mm/page_ref: use atomic_set_release in page_ref_unfreeze
git bisect good f9e13c0a5a33d1eaec374d6d4dab53a4f72756a0 # 19:41 G 14 0 0 0 slab, slub: skip unnecessary kasan_cache_shutdown()
git bisect bad 078eb6aa50dc50cd85f09a22226b7e238b3397ce # 19:51 B 0 9 22 0 x86/mm/memory_hotplug: determine block size based on the end of boot memory
git bisect good 8e7a0c9100cade3bdbf851206b892b6f98eb39c9 # 20:02 G 14 0 0 0 mm/swap_slots.c: use conditional compilation
git bisect bad c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5 # 20:15 B 0 2 15 0 mm: initialize pages on demand during boot
git bisect good 3a2d7fa8a3d5ae740bd0c21d933acc6220857ed0 # 20:28 G 14 0 0 0 mm: disable interrupts while initializing deferred pages
# first bad commit: [c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5] mm: initialize pages on demand during boot
git bisect good 3a2d7fa8a3d5ae740bd0c21d933acc6220857ed0 # 20:31 G 41 0 0 0 mm: disable interrupts while initializing deferred pages
# extra tests with debug options
git bisect bad c9e97a1997fbf3a1d18d4065c2ca381f0704d7e5 # 20:51 B 0 5 18 0 mm: initialize pages on demand during boot
# extra tests on HEAD of linux-devel/devel-spot-201804131640
git bisect bad 8ffb4bb96d48382882e468abdd313c1347a8d949 # 20:51 B 5 8 0 0 0day head guard for 'devel-spot-201804131640'
# extra tests on tree/branch linus/master
git bisect bad 6d08b06e67cd117f6992c46611dfb4ce267cd71e # 21:05 B 0 4 18 1 Linux 4.17-rc2
# extra tests with first bad commit reverted
git bisect good 75b17fa1798cc01a7c5df46fdc62316f1933f4c0 # 21:54 G 14 0 0 0 Revert "mm: initialize pages on demand during boot"
# extra tests on tree/branch linux-next/master
git bisect bad 43cd1f4979998ba0ef1c0b8e1c5d23d2de5ab172 # 22:09 B 0 10 23 0 Add linux-next specific files for 20180424
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
Download attachment "dmesg-quantal-lkp-hsw01-20:20180424201630:x86_64-randconfig-b0-04131753:4.16.0-07313-gc9e97a1:1.gz" of type "application/gzip" (976 bytes)
View attachment "reproduce-quantal-lkp-hsw01-20:20180424201630:x86_64-randconfig-b0-04131753:4.16.0-07313-gc9e97a1:1" of type "text/plain" (765 bytes)
View attachment "config-4.16.0-07313-gc9e97a1" of type "text/plain" (117966 bytes)
Powered by blists - more mailing lists