Shaohua, I tried bisect and 0d18d770b9180ffc2c3f63b9eb8406ef80105e05 is the first bad commit. commit 0d18d770b9180ffc2c3f63b9eb8406ef80105e05 Author: Shaohua Li Date: Sat Jan 12 10:56:05 2013 +1100 mm: make madvise(MADV_WILLNEED) support swap file prefetch Make madvise(MADV_WILLNEED) support swap file prefetch. If memory is swapout, this syscall can do swapin prefetch. It has no impact if the memory isn't swapout. Signed-off-by: Shaohua Li Cc: Hugh Dickins Cc: Rik van Riel Signed-off-by: Andrew Morton [ 32.168655] ok. [ 43.409959] ------------[ cut here ]------------ [ 43.410048] kernel BUG at /c/kernel-tests/src/stable/block/blk-core.c:2981! [ 43.410048] invalid opcode: 0000 [#1] DEBUG_PAGEALLOC [ 43.410048] CPU 0 [ 43.410048] Pid: 144, comm: trinity-child0 Not tainted 3.8.0-rc3-05057-g17e836d #10 Bochs Bochs [ 43.410048] RIP: 0010:[] [] blk_flush_plug_list+0x47/0x285 [ 43.410048] RSP: 0018:ffff880005ca1e08 EFLAGS: 00010202 [ 43.410048] RAX: 0000000000000000 RBX: ffff880005ca1f20 RCX: 0000000a1b6ecfc4 [ 43.410048] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff81ef8a28 [ 43.410048] RBP: ffff880005ca1e68 R08: 00000000ab1758f2 R09: 0000000000000000 [ 43.410048] R10: 0000000000000246 R11: 0000000000000246 R12: 0000000000000001 [ 43.410048] R13: 000000000000000b R14: 0000000000000000 R15: 4346331c5a4b1a16 [ 43.410048] FS: 00007f1a35606700(0000) GS:ffffffff81bf1000(0000) knlGS:0000000000000000 [ 43.410048] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 43.410048] CR2: 000000000099ead0 CR3: 0000000006a0a000 CR4: 00000000000006b0 [ 43.410048] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 43.410048] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 43.410048] Process trinity-child0 (pid: 144, threadinfo ffff880005ca0000, task ffff8800061656e0) [ 43.410048] Stack: [ 43.410048] 0000000105ca1e48 0000000000000282 ffff880005ca1e18 ffff880005ca1e18 [ 43.410048] ffff880006091d90 ffffffff00000001 043308412d708618 ffff880005ca1f20 [ 43.410048] 0000000000000000 000000000000000b 0000000001b3c000 4346331c5a4b1a16 [ 43.410048] Call Trace: [ 43.410048] [] blk_finish_plug+0x10/0x30 [ 43.410048] [] sys_madvise+0x4f6/0x571 [ 43.410048] [] ? _raw_spin_unlock_irq+0x40/0x60 [ 43.410048] [] ? do_setitimer+0x227/0x27c [ 43.410048] [] ? lockdep_sys_exit_thunk+0x35/0x67 [ 43.410048] [] system_call_fastpath+0x16/0x1b [ 43.410048] Code: 48 89 45 b0 48 89 45 b8 b8 64 73 82 91 48 39 07 48 c7 c7 28 8a ef 81 41 0f 95 c4 31 d2 41 0f b6 f4 e8 fe 08 e1 ff 45 84 e4 74 02 <0f> 0b 48 8d 45 c0 48 89 45 c0 48 89 45 c8 49 89 c4 eb 5c 48 8b [ 43.410048] RIP [] blk_flush_plug_list+0x47/0x285 [ 43.410048] RSP # bad: [17e836d90690666d81376c1f4662aaa6a2829f9c] aio: document, clarify aio_read_events() and shadow_tail # good: [29594404d7fe73cd80eaa4ee8c43dcc53970c60e] Linux 3.7 git bisect start '17e836d90690666d81376c1f4662aaa6a2829f9c' 'v3.7' '--' # skip: [7764b5282e7e04ede3020d86787122887840e016] hwmon: (twl4030-madc-hwmon) Fix warning message caused by removal of __devexit git bisect skip 7764b5282e7e04ede3020d86787122887840e016 # good: [10c39f1d717d3e5e8bcb2998f7dee4362edda26a] staging: line6: drop MIDI from CONFIG_LINE6_USB_DUMP_ANY git bisect good 10c39f1d717d3e5e8bcb2998f7dee4362edda26a # skip: [3c2e81ef344a90bb0a39d84af6878b4aeff568a2] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux git bisect skip 3c2e81ef344a90bb0a39d84af6878b4aeff568a2 # good: [fe36a0b2b55c66f25407cc1f713b631bf7da75fa] ASoC: Ux500: Fixup use of clocks git bisect good fe36a0b2b55c66f25407cc1f713b631bf7da75fa # good: [0dfeada90989833d0144b4df25d2b9ce3746624f] Merge tag 'orion_dt_for_3.8' of git://git.infradead.org/users/jcooper/linux into next/dt git bisect good 0dfeada90989833d0144b4df25d2b9ce3746624f # skip: [d078fde369d175eb188c92df07c3163079d8beab] Staging: bcm: Remove typedef for _LEDColors and call directly. git bisect skip d078fde369d175eb188c92df07c3163079d8beab # good: [c299dd0e2d3dd61d0048a9d9b021aa01f023ed0c] CIFS: Fix write after setting a read lock for read oplock files git bisect good c299dd0e2d3dd61d0048a9d9b021aa01f023ed0c # skip: [9360b53661a2c7754517b2925580055bacc8ec38] Revert "bdi: add a user-tunable cpu_list for the bdi flusher threads" git bisect skip 9360b53661a2c7754517b2925580055bacc8ec38 # skip: [a8b691e6104e6bd27070b6ed6622d0b640707fa8] iwlwifi: request IRQ only once git bisect skip a8b691e6104e6bd27070b6ed6622d0b640707fa8 # good: [5efc1a7a6544491a8a4df8dcbff45a041600e429] Merge branch 'packaging' into for-next git bisect good 5efc1a7a6544491a8a4df8dcbff45a041600e429 # skip: [f2ace93136cade6904a71d26e2f4768eef3b9aa3] MIPS: sysmips: Use unreachable(). git bisect skip f2ace93136cade6904a71d26e2f4768eef3b9aa3 # skip: [7f0ae647b29ba80d5a1127804ba478e3de8a6b4c] Bluetooth: Fix HCI command sending when powering on LE-only adapters git bisect skip 7f0ae647b29ba80d5a1127804ba478e3de8a6b4c # skip: [8f170faeb458532282dbfa870f456e42c11d1ebb] x86, apb_timer: remove unused variable percpu_timer git bisect skip 8f170faeb458532282dbfa870f456e42c11d1ebb # skip: [f3b369e40a0fbf975ab0e39c2104f184e188afc3] mwifiex: rx path enhancement to derive priv only once git bisect skip f3b369e40a0fbf975ab0e39c2104f184e188afc3 # skip: [d62fdf8b681550881b3fb85f335eaf8e36b971b7] drivers/net: Use of_match_ptr() macro in smsc911x.c git bisect skip d62fdf8b681550881b3fb85f335eaf8e36b971b7 # good: [79d4969535f1d569d7ddf7f58242994e9479a28d] tg3: Support 5717 C0 git bisect good 79d4969535f1d569d7ddf7f58242994e9479a28d # skip: [375da3a76dc49f10c35e243ebef62df12e3adf4e] drivers/of/fdt.c: re-use kernel's kbasename() git bisect skip 375da3a76dc49f10c35e243ebef62df12e3adf4e # good: [1ea2a0160588582cd8414a8026d5b54f1705dfa1] mn10300: switch to generic fork/vfork/clone git bisect good 1ea2a0160588582cd8414a8026d5b54f1705dfa1 # skip: [1b8a1636ceea573b1d452a1cccf01c990d8d628a] aoe: update cap on outstanding commands based on config query response git bisect skip 1b8a1636ceea573b1d452a1cccf01c990d8d628a # good: [94e014ee98e98dedb080ed1cdf510a583ed0514b] drm/radeon/cayman: add VM CS checker support for CP DMA git bisect good 94e014ee98e98dedb080ed1cdf510a583ed0514b # skip: [6fd59a83b9261fa53eaf98fb5514abba504a3ea3] scatterlist: don't BUG when we can trivially return a proper error. git bisect skip 6fd59a83b9261fa53eaf98fb5514abba504a3ea3 # skip: [24bd410905919696b705a2ce1df5e1d5d4d22032] regulator: max8997: Remove set_voltage_time_sel setting for max8997_ldo_ops git bisect skip 24bd410905919696b705a2ce1df5e1d5d4d22032 # good: [0cae4685a602a8bf9a86fa2417d6c035c09d6341] staging: net: remove use of __devexit git bisect good 0cae4685a602a8bf9a86fa2417d6c035c09d6341 # skip: [9228ff90387e276ad67b10c0eb525c9d6a57d5e9] Merge branch 'for-3.8/drivers' of git://git.kernel.dk/linux-block git bisect skip 9228ff90387e276ad67b10c0eb525c9d6a57d5e9 # skip: [1724ffbc7439de679d536163e03f54f35574d449] mac80211: complete bss_info tracing git bisect skip 1724ffbc7439de679d536163e03f54f35574d449 # skip: [0f68bb4aed611b05216a9d94457704c738bcb7b9] ARM: shmobile: Include sh73a0 DTSI in kzm9g git bisect skip 0f68bb4aed611b05216a9d94457704c738bcb7b9 # good: [89377aa5156a93e73a3f7c7ccdc0d0fecf65e0d2] pinctrl: lantiq: Staticize non-exported symbols git bisect good 89377aa5156a93e73a3f7c7ccdc0d0fecf65e0d2 # good: [71fbad6c9a28629b6af40b0ff48f36c6610a1394] PCI/ACPI: Notify PCI devices when their power resource is turned on git bisect good 71fbad6c9a28629b6af40b0ff48f36c6610a1394 # skip: [41cad6ab2cb9ccb3b11546ad56b8b285e47c6279] cfq-iosched: convert cfq_group_slice() to use cfqg->vfraction git bisect skip 41cad6ab2cb9ccb3b11546ad56b8b285e47c6279 # good: [eabc5fa51c1fae4b66cf883e3a3c2b3ca794494c] Merge branch 'spear-for-3.8' of git://git.linaro.org/people/vireshk/linux into next/dt2 git bisect good eabc5fa51c1fae4b66cf883e3a3c2b3ca794494c # skip: [889b2f8783ee533ffe4117b0a7173319dec86ac8] MAINTAINERS: add an entry for radio-mr800 driver git bisect skip 889b2f8783ee533ffe4117b0a7173319dec86ac8 # skip: [7fbdadb5e951e4f0c0fc991ff5f50295568786e6] solos-pci: remove superfluous debug output git bisect skip 7fbdadb5e951e4f0c0fc991ff5f50295568786e6 # good: [d3cec81fc929b6edc43bd42725929685359adef7] firmware: remove last vestiges of dabusb git bisect good d3cec81fc929b6edc43bd42725929685359adef7 # skip: [6a2b60b17b3e48a418695a94bd2420f6ab32e519] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace git bisect skip 6a2b60b17b3e48a418695a94bd2420f6ab32e519 # good: [e3224111b3a527eb8f9b9b6deed83b727522941e] staging: dgrp: remove use of real_raw and read_cnt in dgrp_input git bisect good e3224111b3a527eb8f9b9b6deed83b727522941e # skip: [b444df2f7267e1a431989ad95169f0c13ac790e2] drivers/video/backlight/pandora_bl.c: change TWL4030_MODULE_PWM0 to TWL_MODULE_PWM git bisect skip b444df2f7267e1a431989ad95169f0c13ac790e2 # skip: [eee8182aa4424eee71f25cb4ce2c56a53222d523] kvm tools: Convert virtio devices to use IRQ registry git bisect skip eee8182aa4424eee71f25cb4ce2c56a53222d523 # skip: [667be1e757f5684576d01d7402907a2489b1402f] aoe: provide ATA identify device content to user on request git bisect skip 667be1e757f5684576d01d7402907a2489b1402f # skip: [c0b74876ee4873dc89d80b59f5e890a1d0a87be1] ath9k: Add a debugfs file to dump queue statistics git bisect skip c0b74876ee4873dc89d80b59f5e890a1d0a87be1 # good: [b254e3e407669328ba8edee6454d44609fc34adc] Merge commit 'v3.2-rc2' into linux-next git bisect good b254e3e407669328ba8edee6454d44609fc34adc # good: [08fe1172f8433d5e71c1d6cb7b85922724aa0cd8] Merge remote-tracking branch 'vhost/linux-next' git bisect good 08fe1172f8433d5e71c1d6cb7b85922724aa0cd8 # good: [da4bd8bf7f518375af0b3be165914393dfc51164] Merge remote-tracking branch 'userns/for-next' git bisect good da4bd8bf7f518375af0b3be165914393dfc51164 # good: [c73f9be37508574ee11aed680f597c3a0f3e9e4b] memcg, oom: provide more precise dump info while memcg oom happening git bisect good c73f9be37508574ee11aed680f597c3a0f3e9e4b # bad: [aa0e4b147868e8fd814e6b7d9fa5b0ee567c9df1] drivers/video/backlight/l4f00242t03.c: convert to devm_regulator_get() git bisect bad aa0e4b147868e8fd814e6b7d9fa5b0ee567c9df1 # bad: [994cc907eebc73a6f528b915d9f051179bf52dd4] mm: memmap_init_zone() performance improvement git bisect bad 994cc907eebc73a6f528b915d9f051179bf52dd4 # bad: [59de07046c9cfbdf8f9ab3bfa515a85ece93e4a9] mm: use mm_populate() when adjusting brk with MCL_FUTURE in effect git bisect bad 59de07046c9cfbdf8f9ab3bfa515a85ece93e4a9 # good: [ae751c1843f8c115af922c06eb507cea30c61ba9] mm/page_alloc.c:__setup_per_zone_wmarks: make min_pages unsigned long git bisect good ae751c1843f8c115af922c06eb507cea30c61ba9 # bad: [6eabfddc7ff9703acbe374ec6e30548156dfbcd9] mm-make-madvisemadv_willneed-support-swap-file-prefetch-fix git bisect bad 6eabfddc7ff9703acbe374ec6e30548156dfbcd9 # good: [68e330bf77bcd5ff36f26d162a34cc20ceb51f77] mm/ksm.c: use new hashtable implementation git bisect good 68e330bf77bcd5ff36f26d162a34cc20ceb51f77 # bad: [0d18d770b9180ffc2c3f63b9eb8406ef80105e05] mm: make madvise(MADV_WILLNEED) support swap file prefetch git bisect bad 0d18d770b9180ffc2c3f63b9eb8406ef80105e05 # good: [6df61eaaa9fad4da8c30340339119d6cc9bbddd9] memcg,vmscan: do not break out targeted reclaim without reclaimed pages git bisect good 6df61eaaa9fad4da8c30340339119d6cc9bbddd9