{"push_id":1260638842,"size":36,"distinct_size":36,"ref":"refs/heads/work","head":"e6f218bc77783ff1e2b7e87c1696b2ce2c2a41de","before":"7ce3ebb31db26ce6b965f8967da52340e330b649","commits":[{"sha":"4956efca47fc66720d16d8c82a08a095adacf472","author":{"name":"myfluxi","email":"95ab61bb01957fc548ef82d227666a28af3268a6@arcor.de"},"message":"cpufreq: ondemand: Use interruptible wait to not affect load average\n\nChange-Id: I44a98cf1b432aabf29decb43e606fd8e2e87bf42","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/4956efca47fc66720d16d8c82a08a095adacf472"},{"sha":"7124a394d7bfcb00b79d904a02f955aad8df918d","author":{"name":"Steve Kondik","email":"b19b07074df4531cbeb6a055e4530af2155d6cfd@chemlab.org"},"message":"drivers: cpufreq: Send a uevent when governor changes\n\n * Useful so userspace tools can reconfigure.\n\nChange-Id: Ib423910b8b9ac791ebe81a75bf399f58272f64f2","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/7124a394d7bfcb00b79d904a02f955aad8df918d"},{"sha":"0bef06468e3cd0026f10d65ad006944240926b0c","author":{"name":"myfluxi","email":"95ab61bb01957fc548ef82d227666a28af3268a6@arcor.de"},"message":"cpufreq: Fix broken uevents for cpufreq governor and cpu devices\n\ncyanogens uevent commit when the governor changes was rendered\nnon-working since kitkat (or so) as the uevent filter function\ncaused events to be dropped. Now hook into cpufreq_core_init()\nand cpufreq_add_dev_interface() to create our basic ksets for\ncpufreq and cpu devices. Also, we don't need to set environmental\ndata, so clean it up a bit.\n\nThis commit requires a change in ueventd.rc that add rules for\nseveral files of interest.\n\nChange-Id: I3aafa0d4e18363e1d68535f513099ecd27024007","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/0bef06468e3cd0026f10d65ad006944240926b0c"},{"sha":"d33ddcbfb47cca28a0399227e4534f61a57decaa","author":{"name":"Patrick Cain","email":"8870d7f41047dd7a52d4c0e7099b8024746ccfaf@codeaurora.org"},"message":"cpufreq: Sync on thread migration optimizations\n\nWhen threads migrate between CPUs the destination CPU will temporarily\nhave a boosted frequency and the source CPU will have a residual higher\nfrequency even though the load could have just been reduced. To avoid\nleaving CPUs at a high frequencies notify the source CPU after a thread\nmigration and make the interactive governor's timer reschedule\nconditionally.\n\nChange-Id: Id55055f2a116ca7ffd2a34dc3d0ec519c888a111\nSigned-off-by: Patrick Cain <pcain@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/d33ddcbfb47cca28a0399227e4534f61a57decaa"},{"sha":"941efc799c1fd4eda98847c7fd5f758b4c8f7917","author":{"name":"Srivatsa Vaddagiri","email":"4ebad9f61da157750c36beb638e9bb3384814e5d@codeaurora.org"},"message":"cpufreq: cpu-boost: Resolve deadlock when waking up sync thread\n\nCPU boost driver receives notification from scheduler when threads\nmigrate towards a cpu and in turn wakes up a sync thread associated\nwith that cpu to handle any required frequency transitions. The wakeup\ncall however can lead to a deadlock inside scheduler under some\ncircumstance. The deadlock is seen when sync thread is the only thread\nrunning on a cpu and goes to sleep (say by calling wait_event() ->\nschedule()). Midway through this sleep (schedule()) call, while cpu is\nstill running in context of sync thread, scheduler attempts a load\nbalance (realizing that cpu is about to become idle) which can result\nin tasks being migrated towards the cpu going idle. This will cause\nmigration notification to be issued and in turn a wakeup on sync\nthread. The wakeup call however gets stuck in below while() loop\ninside scheduler:\n\ntry_to_wake_up(struct task_struct *p, ...)\n{\n\n        /*\n         * If the owning (remote) cpu is still in the middle of\n\t * schedule() with this task as prev, wait until its done\n\t * referencing the task.\n         */\n\twhile (p->on_cpu)\n\t\tcpu_relax();\n\n}\n\nA possible fix could be to teach try_to_wake_up() about this\nspecial case. Another fix, implemented in this patch and that helps\nminimize scheduler changes, is to have cpu boost driver not issue a\nwakeup under this special circumstance, which was found to occur very\ninfrequently.\n\nChange-Id: I92bc68a22d51595a208673fe2a1eedfa97004f9e\nSigned-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/941efc799c1fd4eda98847c7fd5f758b4c8f7917"},{"sha":"7b0980db468aab75dafc17d9f3d8d9782847a041","author":{"name":"Patrick Cain","email":"8870d7f41047dd7a52d4c0e7099b8024746ccfaf@codeaurora.org"},"message":"cpufreq: cpu-boost: Re-issue boosts above minimum frequency\n\nFrequency boosts where the source CPU frequency is greater than CPU's\nminimum frequency should always go through regardless of the destination\nCPU's current frequency. This fixes a performance issue where the governor\nlowers the CPU frequency shortly after a thread is migrated to it because\nthe boost wasn't re-issued.\n\nChange-Id: I449545a688d84b0a6e834f5a51dcb499caa84d29\nSigned-off-by: Patrick Cain <pcain@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/7b0980db468aab75dafc17d9f3d8d9782847a041"},{"sha":"01b0dde1b92bea887c66bd75496ed526e275bf9a","author":{"name":"Junjie Wu","email":"0075153510835c15ef43801605ef8726aea51938@codeaurora.org"},"message":"cpufreq: cpu-boost: Support separate input_boost_freq for different CPUs\n\nDifferent types of CPUs could have different frequency to satisfy same\ninput workload. Add support for using different input_boost_freq on\ndifferent CPUs.\n\ninput_boost_freq now either takes a single number which applies to all\nCPUs, or cpuid:freq pairs separated by space for different CPUs.\n\nChange-Id: I20506a9fbdb4d532d94168bbd61744595bebc8e5\nSigned-off-by: Junjie Wu <junjiew@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/01b0dde1b92bea887c66bd75496ed526e275bf9a"},{"sha":"93b2935e2587b6057ab851b9114048da6fb00dbc","author":{"name":"Rohit Gupta","email":"62ae7c7d28daf6453c1207629433f2ff251b3de4@codeaurora.org"},"message":"cpufreq: cpu-boost: Use one work to remove input boost for all CPUs\n\nCurrently each CPU queues up its own work for removing input boost.\nThis is not really required as boost removal for all the CPUs can\nbe done at the same time. So this patch uses a single work to\nremove input boost for all the CPUs and updates the policy for\nthe online ones.\n\nChange-Id: I37c809f2f155548b1d8c1b9aa7626c8852b3acc6\nSigned-off-by: Rohit Gupta <rohgup@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/93b2935e2587b6057ab851b9114048da6fb00dbc"},{"sha":"7b48a8ecf24f3eb21516b401ae00c268b0aac792","author":{"name":"myfluxi","email":"95ab61bb01957fc548ef82d227666a28af3268a6@arcor.de"},"message":"Revert \"tracing/sched: Track per-cpu rt and non-rt cpu_load.\"\n\nThis reverts commit 4dc47fb113fee708933e503f96c3c6345678088d.\n\nChange-Id: I916a4dc63acdbc0c4bb7a72d62a2fa2a2dfc0cb2","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/7b48a8ecf24f3eb21516b401ae00c268b0aac792"},{"sha":"080b20a633a7f7c765c16627dbd7cb165e9a21c2","author":{"name":"Mike Galbraith","email":"649d8eb6bd2e8762b62221d348f9c63d9e0f0f9a@suse.de"},"message":"sched: Fix migration thread runtime bogosity\n\ncommit 8f6189684eb4e85e6c593cd710693f09c944450a upstream.\n\nMake stop scheduler class do the same accounting as other classes,\n\nMigration threads can be caught in the act while doing exec balancing,\nleading to the below due to use of unmaintained ->se.exec_start.  The\nload that triggered this particular instance was an apparently out of\ncontrol heavily threaded application that does system monitoring in\nwhat equated to an exec bomb, with one of the VERY frequently migrated\ntasks being ps.\n\n%CPU   PID USER     CMD\n99.3    45 root     [migration/10]\n97.7    53 root     [migration/12]\n97.0    57 root     [migration/13]\n90.1    49 root     [migration/11]\n89.6    65 root     [migration/15]\n88.7    17 root     [migration/3]\n80.4    37 root     [migration/8]\n78.1    41 root     [migration/9]\n44.2    13 root     [migration/2]\n\nChange-Id: Id397924dfdc6c16dfdc6d1d0aba871300f28314a\nSigned-off-by: Mike Galbraith <mgalbraith@suse.de>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/1344051854.6739.19.camel@marge.simpson.net\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\nCc: Steven Rostedt <rostedt@goodmis.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/080b20a633a7f7c765c16627dbd7cb165e9a21c2"},{"sha":"3a64dd9586f4e0bf929e785ccc5a691e99121f51","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Track the runnable average on a per-task entity basis\n\nInstead of tracking averaging the load parented by a cfs_rq, we can track\nentity load directly. With the load for a given cfs_rq then being the sum\nof its children.\n\nTo do this we represent the historical contribution to runnable average\nwithin each trailing 1024us of execution as the coefficients of a\ngeometric series.\n\nWe can express this for a given task t as:\n\n  runnable_sum(t) = \\Sum u_i * y^i, runnable_avg_period(t) = \\Sum 1024 * y^i\n  load(t) = weight_t * runnable_sum(t) / runnable_avg_period(t)\n\nWhere: u_i is the usage in the last i`th 1024us period (approximately 1ms)\n~ms and y is chosen such that y^k = 1/2.  We currently choose k to be 32 which\nroughly translates to about a sched period.\n\nChange-Id: Iafc090fe18ed1835cc501949e8ba1e4ed78c5de1\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.372695337@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/3a64dd9586f4e0bf929e785ccc5a691e99121f51"},{"sha":"07c2d0b4264d088e6c474c4a910f16e7849de703","author":{"name":"Ben Segall","email":"99eb0c7a4f3a18874efff9726ade52c2b7beb2eb@google.com"},"message":"sched: Maintain per-rq runnable averages\n\nSince runqueues do not have a corresponding sched_entity we instead embed a\nsched_avg structure directly.\n\nChange-Id: Ib2a80c77f6b4e017eaa72b31004630c7d95e4b94\nSigned-off-by: Ben Segall <bsegall@google.com>\nReviewed-by: Paul Turner <pjt@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.442637130@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/07c2d0b4264d088e6c474c4a910f16e7849de703"},{"sha":"0cee6ebdd1fd626df321d7765de12521432d4acd","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Aggregate load contributed by task entities on parenting cfs_rq\n\nFor a given task t, we can compute its contribution to load as:\n\n  task_load(t) = runnable_avg(t) * weight(t)\n\nOn a parenting cfs_rq we can then aggregate:\n\n  runnable_load(cfs_rq) = \\Sum task_load(t), for all runnable children t\n\nMaintain this bottom up, with task entities adding their contributed load to\nthe parenting cfs_rq sum.  When a task entity's load changes we add the same\ndelta to the maintained sum.\n\nChange-Id: If3b74d345354a340836bbc356002982e25ab3244\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.514678907@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/0cee6ebdd1fd626df321d7765de12521432d4acd"},{"sha":"5e800698cda09a4a6a79824d0ae34ac5e19333b5","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Maintain the load contribution of blocked entities\n\nWe are currently maintaining:\n\n  runnable_load(cfs_rq) = \\Sum task_load(t)\n\nFor all running children t of cfs_rq.  While this can be naturally updated for\ntasks in a runnable state (as they are scheduled); this does not account for\nthe load contributed by blocked task entities.\n\nThis can be solved by introducing a separate accounting for blocked load:\n\n  blocked_load(cfs_rq) = \\Sum runnable(b) * weight(b)\n\nObviously we do not want to iterate over all blocked entities to account for\ntheir decay, we instead observe that:\n\n  runnable_load(t) = \\Sum p_i*y^i\n\nand that to account for an additional idle period we only need to compute:\n\n  y*runnable_load(t).\n\nThis means that we can compute all blocked entities at once by evaluating:\n\n  blocked_load(cfs_rq)` = y * blocked_load(cfs_rq)\n\nFinally we maintain a decay counter so that when a sleeping entity re-awakens\nwe can determine how much of its load should be removed from the blocked sum.\n\nChange-Id: Ib0b29b3d1ca872a13d7236ed142156ef0a35dc9a\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.585389902@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/5e800698cda09a4a6a79824d0ae34ac5e19333b5"},{"sha":"7ec59c45743ff9177b9dc9e410ab5873aca061b2","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Add an rq migration call-back to sched_class\n\nSince we are now doing bottom up load accumulation we need explicit\nnotification when a task has been re-parented so that the old hierarchy can be\nupdated.\n\nAdds: migrate_task_rq(struct task_struct *p, int next_cpu)\n\n(The alternative is to do this out of __set_task_cpu, but it was suggested that\nthis would be a cleaner encapsulation.)\n\nChange-Id: Icc4111cd4159f804186dd7c05f0c36f4e368288e\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.660023400@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/7ec59c45743ff9177b9dc9e410ab5873aca061b2"},{"sha":"a8fc267948e69ad9b765652adba1b11ad35605b8","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Account for blocked load waking back up\n\nWhen a running entity blocks we migrate its tracked load to\ncfs_rq->blocked_runnable_avg.  In the sleep case this occurs while holding\nrq->lock and so is a natural transition.  Wake-ups however, are potentially\nasynchronous in the presence of migration and so special care must be taken.\n\nWe use an atomic counter to track such migrated load, taking care to match this\nwith the previously introduced decay counters so that we don't migrate too much\nload.\n\nChange-Id: Ied949a2a42f68e4d4d16275351fd1240939dd519\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.726077467@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/a8fc267948e69ad9b765652adba1b11ad35605b8"},{"sha":"5e025dbb9771d28f8828a8639ed8cf1cda4663a1","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Aggregate total task_group load\n\nMaintain a global running sum of the average load seen on each cfs_rq belonging\nto each task group so that it may be used in calculating an appropriate\nshares:weight distribution.\n\nChange-Id: If2726cb0037ddffce651ea17c46cbc4924cca7a2\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.792901086@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/5e025dbb9771d28f8828a8639ed8cf1cda4663a1"},{"sha":"3ad37d877fa3ab6ddcf0bf8976c4e1f97527ad82","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Compute load contribution by a group entity\n\nUnlike task entities who have a fixed weight, group entities instead own a\nfraction of their parenting task_group's shares as their contributed weight.\n\nCompute this fraction so that we can correctly account hierarchies and shared\nentity nodes.\n\nChange-Id: If61e926bb72f56c543b5b85841355f9f6997c51d\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.855074415@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/3ad37d877fa3ab6ddcf0bf8976c4e1f97527ad82"},{"sha":"c12ef349dff2e11888a3eb84be27badeb19bd3c3","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Normalize tg load contributions against runnable time\n\nEntities of equal weight should receive equitable distribution of cpu time.\nThis is challenging in the case of a task_group's shares as execution may be\noccurring on multiple cpus simultaneously.\n\nTo handle this we divide up the shares into weights proportionate with the load\non each cfs_rq.  This does not however, account for the fact that the sum of\nthe parts may be less than one cpu and so we need to normalize:\n  load(tg) = min(runnable_avg(tg), 1) * tg->shares\nWhere runnable_avg is the aggregate time in which the task_group had runnable\nchildren.\n\nChange-Id: I6f8d2ff1e61c1559c892ed9e2da670aed92dbbeb\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>.\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.930124292@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/c12ef349dff2e11888a3eb84be27badeb19bd3c3"},{"sha":"6c63833050329a913c9f3d0cd2ae6ab63b29bf9c","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Maintain runnable averages across throttled periods\n\nWith bandwidth control tracked entities may cease execution according to user\nspecified bandwidth limits.  Charging this time as either throttled or blocked\nhowever, is incorrect and would falsely skew in either direction.\n\nWhat we actually want is for any throttled periods to be \"invisible\" to\nload-tracking as they are removed from the system for that interval and\ncontribute normally otherwise.\n\nDo this by moderating the progression of time to omit any periods in which the\nentity belonged to a throttled hierarchy.\n\nChange-Id: I9d2c2d8a0cc984064c37432ecb262178ce0b3d32\nSigned-off-by: Paul Turner <pjt@google.com>\nReviewed-by: Ben Segall <bsegall@google.com>\nSigned-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>\nLink: http://lkml.kernel.org/r/20120823141506.998912151@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/Z3kernel/commits/6c63833050329a913c9f3d0cd2ae6ab63b29bf9c"}]}
{"actor":{"display_login":"tunturn"}}