{"push_id":1314915412,"size":2,"distinct_size":2,"ref":"refs/heads/progress-sched310","head":"ce9016013c19d5527e38cf994c60e517b67b8299","before":"fd0317a330c603c70b6a5161ee1da5a611911e57","commits":[{"sha":"e9df52b99be21a5871b0604c5c61c1b1c6b19938","author":{"name":"Vincent Guittot","email":"9a88ec82ddd651c42e4062b28722f0a8c298d7ae@linaro.org"},"message":"sched: Fix wrong rq's runnable_avg update with rt tasks\n\nThe current update of the rq's load can be erroneous when RT\ntasks are involved.\n\nThe update of the load of a rq that becomes idle, is done only\nif the avg_idle is less than sysctl_sched_migration_cost. If RT\ntasks and short idle duration alternate, the runnable_avg will\nnot be updated correctly and the time will be accounted as idle\ntime when a CFS task wakes up.\n\nA new idle_enter function is called when the next task is the\nidle function so the elapsed time will be accounted as run time\nin the load of the rq, whatever the average idle time is. The\nfunction update_rq_runnable_avg is removed from idle_balance.\n\nWhen a RT task is scheduled on an idle CPU, the update of the\nrq's load is not done when the rq exit idle state because CFS's\nfunctions are not called. Then, the idle_balance, which is\ncalled just before entering the idle function, updates the rq's\nload and makes the assumption that the elapsed time since the\nlast update, was only running time.\n\nAs a consequence, the rq's load of a CPU that only runs a\nperiodic RT task, is close to LOAD_AVG_MAX whatever the running\nduration of the RT task is.\n\nA new idle_exit function is called when the prev task is the\nidle function so the elapsed time will be accounted as idle time\nin the rq's load.\n\nSigned-off-by: Vincent Guittot <vincent.guittot@linaro.org>\nAcked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nAcked-by: Steven Rostedt <rostedt@goodmis.org>\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: pjt@google.com\nCc: fweisbec@gmail.com\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366302867-5055-1-git-send-email-vincent.guittot@linaro.org\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/z3concept/commits/e9df52b99be21a5871b0604c5c61c1b1c6b19938"},{"sha":"ce9016013c19d5527e38cf994c60e517b67b8299","author":{"name":"Frederic Weisbecker","email":"fe7fea42e1cb0b94cea2acd3bec755592d0c9ba0@gmail.com"},"message":"sched: Keep at least 1 tick per second for active dynticks tasks\n\nThe scheduler doesn't yet fully support environments\nwith a single task running without a periodic tick.\n\nIn order to ensure we still maintain the duties of scheduler_tick(),\nkeep at least 1 tick per second.\n\nThis makes sure that we keep the progression of various scheduler\naccounting and background maintainance even with a very low granularity.\nExamples include cpu load, sched average, CFS entity vruntime,\navenrun and events such as load balancing, amongst other details\nhandled in sched_class::task_tick().\n\nThis limitation will be removed in the future once we get\nthese individual items to work in full dynticks CPUs.\n\nSuggested-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Frederic Weisbecker <fweisbec@gmail.com>\nCc: Christoph Lameter <cl@linux.com>\nCc: Hakan Akkan <hakanakkan@gmail.com>\nCc: Ingo Molnar <mingo@kernel.org>\nCc: Kevin Hilman <khilman@linaro.org>\nCc: Li Zhong <zhong@linux.vnet.ibm.com>\nCc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nCc: Paul Gortmaker <paul.gortmaker@windriver.com>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Steven Rostedt <rostedt@goodmis.org>\nCc: Thomas Gleixner <tglx@linutronix.de>","distinct":true,"url":"https://api.github.com/repos/tunturn/z3concept/commits/ce9016013c19d5527e38cf994c60e517b67b8299"}]}
{"actor":{"display_login":"tunturn"}}