Hi, On Wed, 1 Aug 2007, Ingo Molnar wrote:
> just to make sure, how does 'top' output of the l + "lt 3" testcase look > like now on your laptop? Yesterday it was this: > > 4544 roman 20 0 1796 520 432 S 32.1 0.4 0:21.08 lt > 4545 roman 20 0 1796 344 256 R 32.1 0.3 0:21.07 lt > 4546 roman 20 0 1796 344 256 R 31.7 0.3 0:21.07 lt > 4547 roman 20 0 1532 272 216 R 3.3 0.2 0:01.94 l > > and i'm still wondering how that output was possible. I disabled the jiffies logic and the result is still the same, so this problem isn't related to resolution at all. I traced it a little and what's happing is that the busy loop really only gets little time, it only runs inbetween the timer tasks. When the timer task is woken up __enqueue_sleeper() updates sleeper_bonus and a little later when the busy loop is preempted __update_curr() is called a last time and it's fully hit by the sleeper_bonus. So the timer tasks use less time than they actually get and thus produce overflows, the busy loop OTOH is punished and underflows. So it seems my initial suspicion was right and this logic is dodgy, what is it actually supposed to do? Why is some random task accounted with the sleeper_bonus? bye, Roman PS: Can I still expect answer about all the other stuff? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/