Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://github.com/0day-ci/linux
Aneesh-Kumar-K-V/mm-Use-the-correct-page-size-when-removing-the-page/20161012-013446
commit c4344e80359420d7574b3b90fddf53311f1d24e6
Author: Aneesh Kumar K.V <aneesh.kumar(a)linux.vnet.ibm.com>
AuthorDate: Tue Oct 11 23:01:21 2016 +0530
Commit: 0day robot <fengguang.wu(a)intel.com>
CommitDate: Wed Oct 12 01:34:54 2016 +0800
mm: Remove the page size change check in tlb_remove_page
Now that we check for page size change early in the loop, we can
partially revert e9d55e157034a9efd99405c99c1565d64619d82b
("mm: change the interface for __tlb_remove_page").
This simplies the code much, by removing the need to track the last
address with which we adjusted the range. We also go back to the older
way of filling the mmu_gather array, ie, we add an entry and then
check whether the gather batch is full.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar(a)linux.vnet.ibm.com>
+------------------------------------------------+------------+------------+------------+
| | eff764128d | c4344e8035 | c4344e8035 |
+------------------------------------------------+------------+------------+------------+
| boot_successes | 59 | 0 | 0 |
| boot_failures | 0 | 43 | 43 |
| WARNING:at_mm/memory.c:#__tlb_remove_page_size | 0 | 43 | 43 |
| calltrace:SyS_execve | 0 | 43 | 43 |
| calltrace:run_init_process | 0 | 21 | 21 |
+------------------------------------------------+------------+------------+------------+
[ 2.336560] Write protecting the kernel text: 3148k
[ 2.337423] Write protecting the kernel read-only data: 1444k
[ 2.338545] ------------[ cut here ]------------
[ 2.339285] WARNING: CPU: 0 PID: 1 at mm/memory.c:303 __tlb_remove_page_size+0x25/0x99
[ 2.340848] Modules linked in:
[ 2.341443] CPU: 0 PID: 1 Comm: init Not tainted 4.8.0-mm1-00315-gc4344e8 #5
[ 2.342619] c3093d38 b111e5e6 c3093d54 b10320dc 0000012f b10974d1 c3093de4 c37ae7bc
[ 2.344016] c37ae7bc c3093d68 b103215f 00000009 00000000 00000000 c3093d78 b10974d1
[ 2.345514] c37ae7bc c3093de4 c3093d88 b10263ca c3093de4 c1833afc c3093db4 b109767a
[ 2.346801] Call Trace:
[ 2.347181] [<b111e5e6>] dump_stack+0x16/0x18
[ 2.347890] [<b10320dc>] __warn+0xa5/0xbc
[ 2.348507] [<b10974d1>] ? __tlb_remove_page_size+0x25/0x99
[ 2.349332] [<b103215f>] warn_slowpath_null+0x11/0x16
[ 2.350088] [<b10974d1>] __tlb_remove_page_size+0x25/0x99
[ 2.350899] [<b10263ca>] ___pte_free_tlb+0x57/0x66
[ 2.351669] [<b109767a>] free_pgd_range+0x135/0x1d0
[ 2.352405] [<b10b6ad7>] setup_arg_pages+0x219/0x29a
[ 2.353145] [<b10db3a6>] load_elf_binary+0x2ad/0x94a
[ 2.353891] [<b10b25d3>] ? vfs_read+0x80/0x94
[ 2.354599] [<b10b6015>] search_binary_handler+0x106/0x159
[ 2.355426] [<b10dad75>] load_script+0x19d/0x1b7
[ 2.356115] [<b1024477>] ? slow_virt_to_phys+0x40/0x51
[ 2.356883] [<b1026627>] ? __phys_addr+0x58/0x63
[ 2.357582] [<b10b00a3>] ? __check_object_size+0x18d/0x1c5
[ 2.358435] [<b11266fe>] ? _copy_from_user+0x49/0x5c
[ 2.359178] [<b10b61f9>] ? copy_strings+0x191/0x273
[ 2.359914] [<b104f810>] ? do_raw_read_lock+0x8/0xa
[ 2.360646] [<b10b6015>] search_binary_handler+0x106/0x159
[ 2.361499] [<b10b7558>] do_execveat_common+0x3bf/0x4dc
[ 2.362276] [<b130d960>] ? rest_init+0x65/0x65
[ 2.362941] [<b10b7689>] do_execve+0x14/0x16
[ 2.363589] [<b100037a>] run_init_process+0x1c/0x1e
[ 2.364316] [<b130d9aa>] kernel_init+0x4a/0xcb
[ 2.365030] [<b13113cb>] ret_from_fork+0x1b/0x30
[ 2.365729] ---[ end trace 1acd34030b49e3a9 ]---
[ 2.367423] ------------[ cut here ]------------
git bisect start c4344e80359420d7574b3b90fddf53311f1d24e6
b9215f97283c8239d33a0ea59d0a7ce7060a7255 --
git bisect good 1a1af5dc57d682766978d0104e08961abe840f16 # 02:36 19+ 0 mm:
Update mmu_gather range correctly
git bisect good 44805884d944166802a97bc6e5284bfe46355d03 # 02:43 19+ 0
mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
git bisect good eff764128d65636156d78d20735741d812c6db5d # 02:46 19+ 0 mm: Add
tlb_remove_check_page_size_change to track page size change
# first bad commit: [c4344e80359420d7574b3b90fddf53311f1d24e6] mm: Remove the page size
change check in tlb_remove_page
git bisect good eff764128d65636156d78d20735741d812c6db5d # 02:48 57+ 0 mm: Add
tlb_remove_check_page_size_change to track page size change
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad c4344e80359420d7574b3b90fddf53311f1d24e6 # 02:52 0- 12 mm:
Remove the page size change check in tlb_remove_page
# extra tests on HEAD of
linux-review/Aneesh-Kumar-K-V/mm-Use-the-correct-page-size-when-removing-the-page/20161012-013446
git bisect bad c4344e80359420d7574b3b90fddf53311f1d24e6 # 02:52 0- 43 mm:
Remove the page size change check in tlb_remove_page
# extra tests on tree/branch
linux-review/Aneesh-Kumar-K-V/mm-Use-the-correct-page-size-when-removing-the-page/20161012-013446
git bisect bad c4344e80359420d7574b3b90fddf53311f1d24e6 # 02:53 0- 43 mm:
Remove the page size change check in tlb_remove_page
# extra tests with first bad commit reverted
git bisect good b1103b0bcf3a7e9ac0e23f8cc1723fe4256762ac # 03:07 59+ 0 Revert
"mm: Remove the page size change check in tlb_remove_page"
# extra tests on tree/branch linus/master
git bisect good f29135b54bcbfe1fea97d94e2ae860bade1d5a31 # 03:13 57+ 0 Merge
branch 'for-linus-4.9' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
# extra tests on tree/branch linux-next/master
git bisect good b97ec3811d7cb1d2c26feb3b11eb260c3ff40bd0 # 03:16 58+ 0 Add
linux-next specific files for 20161011
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation