GitHub PushEvent at 2014-03-28 09:10:55
Repository: SaveEnergy-3
Actor: BrateloSlava
Payload: {"shas":[["d25c39a9dfa81a022a8baf67ee908b7c049dee72","1ac1b2dc45d0fc74a1edec21c59e7bcc1fbb8595@list.ru","sched: Fix double normalization of vruntime\n\ndequeue_entity() is called when p->on_rq and sets se->on_rq = 0\nwhich appears to guarentee that the !se->on_rq condition is met.\nIf the task has done set_current_state(TASK_INTERRUPTIBLE) without\nschedule() the second condition will be met and vruntime will be\nincorrectly adjusted twice.\n\nIn certain cases this can result in the task's vruntime never increasing\npast the vruntime of other tasks on the CFS' run queue, starving them of\nCPU time.\n\nThis patch changes switched_from_fair() to use !p->on_rq instead of\n!se->on_rq.\n\nI'm able to cause a task with a priority of 120 to starve all other\ntasks with the same priority on an ARM platform running 3.2.51-rt72\nPREEMPT RT by writing one character at time to a serial tty (16550 UART)\nin a tight loop. I'm also able to verify making this change corrects the\nproblem on that platform and kernel version.\n\nSigned-off-by: George McCollister <george.mccollister@gmail.com>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nCc: stable@vger.kernel.org\nLink:\nhttp://lkml.kernel.org/r/1392767811-28916-1-git-send-email-george.mccollister@gmail.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\n\nidea is taken here -\nhttps://github.com/franciscofranco/flo/commit/b7a8f84f7c39babc9b87e6db0779a10b3086053c","BrateloSlava",true]],"size":1,"ref":"refs/heads/nightly_4.2.2","head":"d25c39a9dfa81a022a8baf67ee908b7c049dee72"}