From: Gregory Haskins Date: Mon, 29 Dec 2008 14:39:51 +0000 (-0500) Subject: sched: make double-lock-balance fair X-Git-Tag: v2.6.30-rc1~658^2~24^2~3^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f45e2b516201d1bf681e6026fa5276385def565;p=pandora-kernel.git sched: make double-lock-balance fair double_lock balance() currently favors logically lower cpus since they often do not have to release their own lock to acquire a second lock. The result is that logically higher cpus can get starved when there is a lot of pressure on the RQs. This can result in higher latencies on higher cpu-ids. This patch makes the algorithm more fair by forcing all paths to have to release both locks before acquiring them again. Since callsites to double_lock_balance already consider it a potential preemption/reschedule point, they have the proper logic to recheck for atomicity violations. Signed-off-by: Gregory Haskins --- Reading git-diff-tree failed