Revision 37407ea7f93864c2cfc03edf8f37872ec539ea2b authored by Linus Torvalds on 16 September 2012, 19:29:43 UTC, committed by Linus Torvalds on 16 September 2012, 19:29:43 UTC
This reverts commit 970e178985cadbca660feb02f4d2ee3a09f7fdda.

Nikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%
performance drop on PostgreSQL 9.2 on his machine (running "pgbench").

Borislav Petkov was able to reproduce this, and bisected it to this
commit 970e178985ca ("sched: Improve scalability via 'CPU buddies' ...")
apparently because the new single-idle-buddy model simply doesn't find
idle CPU's to reschedule on aggressively enough.

Mike Galbraith suspects that it is likely due to the user-mode spinlocks
in PostgreSQL not reacting well to preemption, but we don't really know
the details - I'll just revert the commit for now.

There are hopefully other approaches to improve scheduler scalability
without it causing these kinds of downsides.

Reported-by: Nikolay Ulyanitsky <lystor@gmail.com>
Bisected-by: Borislav Petkov <bp@alien8.de>
Acked-by: Mike Galbraith <efault@gmx.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 3f0c3c8
History
File Mode Size
partitions
Kconfig -rw-r--r-- 3.3 KB
Kconfig.iosched -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 720 bytes
blk-cgroup.c -rw-r--r-- 23.7 KB
blk-cgroup.h -rw-r--r-- 13.6 KB
blk-core.c -rw-r--r-- 81.1 KB
blk-exec.c -rw-r--r-- 3.1 KB
blk-flush.c -rw-r--r-- 13.1 KB
blk-integrity.c -rw-r--r-- 11.5 KB
blk-ioc.c -rw-r--r-- 10.2 KB
blk-iopoll.c -rw-r--r-- 5.9 KB
blk-lib.c -rw-r--r-- 4.5 KB
blk-map.c -rw-r--r-- 8.2 KB
blk-merge.c -rw-r--r-- 13.2 KB
blk-settings.c -rw-r--r-- 25.7 KB
blk-softirq.c -rw-r--r-- 4.5 KB
blk-sysfs.c -rw-r--r-- 14.8 KB
blk-tag.c -rw-r--r-- 9.8 KB
blk-throttle.c -rw-r--r-- 31.0 KB
blk-timeout.c -rw-r--r-- 4.7 KB
blk.h -rw-r--r-- 7.1 KB
bsg-lib.c -rw-r--r-- 6.2 KB
bsg.c -rw-r--r-- 23.7 KB
cfq-iosched.c -rw-r--r-- 108.1 KB
compat_ioctl.c -rw-r--r-- 20.8 KB
deadline-iosched.c -rw-r--r-- 11.1 KB
elevator.c -rw-r--r-- 23.1 KB
genhd.c -rw-r--r-- 43.5 KB
ioctl.c -rw-r--r-- 10.2 KB
noop-iosched.c -rw-r--r-- 2.5 KB
partition-generic.c -rw-r--r-- 14.0 KB
scsi_ioctl.c -rw-r--r-- 19.6 KB

back to top