From 9db66fceace9811c4602785364b7e30f308cb9c7 Mon Sep 17 00:00:00 2001 From: Martin Peres Date: Sun, 17 Aug 2014 17:33:10 +0200 Subject: [PATCH] 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-format-patch failed