From: Martin Peres Date: Sun, 17 Aug 2014 15:33:10 +0000 (+0200) Subject: drm/nouveau/pwr: fix the timers implementation with concurent processes X-Git-Tag: fixes-against-v3.18-rc2~73^2~36^2~52 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9db66fceace9811c4602785364b7e30f308cb9c7;p=pandora-kernel.git drm/nouveau/pwr: fix the timers implementation with concurent processes The problem with the current implementation is that adding a timer improperly checked which process would time up first by not taking into account how much time elapsed since their timer got scheduled. Rework the re-scheduling decision t fix this. The catch with this fix is that we are limited to scheduling timers of up to 2^31 ticks to avoid any potential overflow. Since we are unlikely to need to wait for more than a second, this won't be a problem :) Another possible fix would be to decrement the timeouts of all processes but it would duplicate a lot of code and dealing with edge cases wasn't pretty last time I checked. Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs --- Reading git-diff-tree failed