git checkout 725a7c316ea0d1329b630e31f82d0a2e762e0a65 Previous HEAD position was df2363d... kernel/sys.c: make prctl(PR_SET_MM) generally available HEAD is now at 725a7c3... Merge remote-tracking branch 'modem_shm/remoteproc-next' 2013-03-07-21:32:34 725a7c316ea0d1329b630e31f82d0a2e762e0a65 compiling /home/wfg/linux 2013-03-07-21:34:10 detecting boot state 3.9.0-rc1-bisect-01478-g725a7c3 #242 SUCCESS bisect: good commit 725a7c316ea0d1329b630e31f82d0a2e762e0a65 git bisect start df2363d9ad7ffd43b5e86604c7a28f4adc6bd75e 725a7c316ea0d1329b630e31f82d0a2e762e0a65 -- Previous HEAD position was 725a7c3... Merge remote-tracking branch 'modem_shm/remoteproc-next' HEAD is now at 1e51120... userns: Convert 9p's uid/gid handling Bisecting: 78 revisions left to test after this (roughly 6 steps) [62159550cf357e60632a7ac147b4c66b1e2b0630] freezer: do not send a fake signal to a PF_DUMPCORE thread git bisect run /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:35:00 62159550cf357e60632a7ac147b4c66b1e2b0630 compiling /home/wfg/linux 2013-03-07-21:36:38 detecting boot state 3.9.0-rc1-bisect-01557-g6215955 #243 SUCCESS Bisecting: 39 revisions left to test after this (roughly 5 steps) [bcbe478b5a2c1c5831dbe1c31d4b6a7d7438ccee] aio: kill struct aio_ring_info running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:37:10 bcbe478b5a2c1c5831dbe1c31d4b6a7d7438ccee compiling /home/wfg/linux 2013-03-07-21:38:44 detecting boot state 3.9.0-rc1-bisect-01596-gbcbe478 #244 TEST FAILURE Bisecting: 19 revisions left to test after this (roughly 4 steps) [93102c910da3c99169b97ed03fdd53c64eadc284] gadget: remove only user of aio retry running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:39:15 93102c910da3c99169b97ed03fdd53c64eadc284 compiling /home/wfg/linux 2013-03-07-21:40:46 detecting boot state 3.9.0-rc1-bisect-01576-g93102c9 #245 TEST FAILURE Bisecting: 9 revisions left to test after this (roughly 3 steps) [df2c264613410a2f59d4f13082207d5e4c0381fe] ipc: set EFAULT as default error in load_msg() running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:41:17 df2c264613410a2f59d4f13082207d5e4c0381fe compiling /home/wfg/linux 2013-03-07-21:42:43 detecting boot state 3.9.0-rc1-bisect-01566-gdf2c264 #246 TEST FAILURE Bisecting: 4 revisions left to test after this (roughly 2 steps) [1b716364563aa3fcd04eddea6fe08bd49574ec7f] kexec: Use min() and min_t() to simplify logic running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:43:13 1b716364563aa3fcd04eddea6fe08bd49574ec7f compiling /home/wfg/linux 2013-03-07-21:44:09 detecting boot state 3.9.0-rc1-bisect-01561-g1b71636 #247 TEST FAILURE Bisecting: 1 revision left to test after this (roughly 1 step) [a21813be23329e2788164eab532e79cb0e513cfc] procfs: improve scaling in proc running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:44:40 a21813be23329e2788164eab532e79cb0e513cfc compiling /home/wfg/linux 2013-03-07-21:45:44 detecting boot state 3.9.0-rc1-bisect-01559-ga21813b #248 TEST FAILURE Bisecting: 0 revisions left to test after this (roughly 0 steps) [c391a36c9b415f3276d1059594a635e66d3f5d7a] coredump: make wait_for_dump_helpers() freezable running /c/kernel-tests/bisect-test-boot-failure.sh obj-bisect-x86_64 2013-03-07-21:46:15 c391a36c9b415f3276d1059594a635e66d3f5d7a compiling /home/wfg/linux 2013-03-07-21:47:28 detecting boot state 3.9.0-rc1-bisect-01558-gc391a36 #249 SUCCESS a21813be23329e2788164eab532e79cb0e513cfc is the first bad commit commit a21813be23329e2788164eab532e79cb0e513cfc Author: Nathan Zimmer Date: Sat Mar 2 15:25:37 2013 +1100 procfs: improve scaling in proc I am currently tracking a hotlock reported by a customer on a large system, 512 cores. I am currently running 3.8-rc7 but the issue looks like it has been this way for a very long time. The offending lock is proc_dir_entry->pde_unload_lock. This patch converts the lock to use rcu. However the pde_openers list still is controlled by a spin lock. I tested on a 4096 machine and the lock doesn't seem hot at least according to perf. This is a refresh of what was orignally suggested by Eric Dumazet some time ago. I have also taken in some comments from Andrew and several other people whose names escape me but I am quite grateful too. Supporting numbers, lower is better, they are from the test I posted earlier. cpuinfo baseline Rcu tasks read-sec read-sec 1 0.0141 0.0141 2 0.0140 0.0142 4 0.0140 0.0141 8 0.0145 0.0140 16 0.0553 0.0168 32 0.1688 0.0549 64 0.5017 0.1690 128 1.7005 0.5038 256 5.2513 2.0804 512 8.0529 3.0162 Signed-off-by: Nathan Zimmer Cc: "Eric W. Biederman" Cc: Eric Dumazet Cc: Alexander Viro Cc: David Woodhouse Cc: Alexey Dobriyan Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton :040000 040000 743664f10bf54723657eef666d27f1298f8c4298 cc1c9c861c02251227cbe9585a0a47ca45dc170c M fs :040000 040000 7374d65efc70771f24e5d82b972aeb7ddb1bf01a b9ce9679b875a1877919823e4080de1f771820b2 M include bisect run success 2013-03-07-21:47:59 c391a36c9b415f3276d1059594a635e66d3f5d7a compiling /home/wfg/linux 2013-03-07-21:48:40 detecting boot state 3.9.0-rc1-bisect-01558-gc391a36 #249 9 SUCCESS 2013-03-07-21:49:49 df2363d9ad7ffd43b5e86604c7a28f4adc6bd75e compiling /home/wfg/linux 2013-03-07-21:51:09 detecting boot state 3.9.0-rc1-bisect-01636-gdf2363d #250 TEST FAILURE ERROR# 1: /c/kernel-tests/bisect:58: main: $BISECT_TEST $KBUILD_OUTPUT [detached HEAD 91ce46c] Revert "procfs: improve scaling in proc" 3 files changed, 106 insertions(+), 123 deletions(-) 2013-03-07-21:51:43 91ce46c0d79238fc84ee5f8c0936d4dcb66d1fd3 compiling /home/wfg/linux 2013-03-07-21:52:53 detecting boot state 3.9.0-rc1-bisect-01637-g91ce46c #251 9 20 SUCCESS ========= linux-next ========= Fetching next 2013-03-07-21:54:40 9edbffb58ae00067e264ef70d5141c1d85049029 compiling /home/wfg/linux 2013-03-07-21:56:35 detecting boot state 3.9.0-rc1-bisect-next-20130307 #252 TEST FAILURE ERROR# 1: /c/kernel-tests/bisect:72: main: $BISECT_TEST $KBUILD_OUTPUT