{"push_id":1435908560,"size":54,"distinct_size":54,"ref":"refs/heads/hello","head":"3c8b364ef0ce287961c5876a0c6eeb263a06c9f1","before":"9f19148a77cb2cba5df9f69660520edf21d22bcd","commits":[{"sha":"55b428c4e00bbc3d64906dcd199e5306991027d1","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/android_kernel_aries_concept/commits/55b428c4e00bbc3d64906dcd199e5306991027d1"},{"sha":"17e3d80224d71e2d3714615257f639572843362f","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/android_kernel_aries_concept/commits/17e3d80224d71e2d3714615257f639572843362f"},{"sha":"ccd8f5ab92484d93072a014d7459dbabfb7a63a9","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/android_kernel_aries_concept/commits/ccd8f5ab92484d93072a014d7459dbabfb7a63a9"},{"sha":"6c44790c2565c5688035b37e3b01c7b8ca4ce87c","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/android_kernel_aries_concept/commits/6c44790c2565c5688035b37e3b01c7b8ca4ce87c"},{"sha":"a4851661d3baf46e939106b20516464ff4641cd1","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/android_kernel_aries_concept/commits/a4851661d3baf46e939106b20516464ff4641cd1"},{"sha":"466f00e93023ebdbd3a9f4b01a4f51d238f5132b","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/android_kernel_aries_concept/commits/466f00e93023ebdbd3a9f4b01a4f51d238f5132b"},{"sha":"d3191dadb3f41d44e2aadaf83799ed4d9ec6d03d","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/android_kernel_aries_concept/commits/d3191dadb3f41d44e2aadaf83799ed4d9ec6d03d"},{"sha":"04bf31ae811d5a3566d73751b4335de54fcb4f99","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/android_kernel_aries_concept/commits/04bf31ae811d5a3566d73751b4335de54fcb4f99"},{"sha":"2c3adfe04510be5882bf33423102b3caf3af6794","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/android_kernel_aries_concept/commits/2c3adfe04510be5882bf33423102b3caf3af6794"},{"sha":"e52918808d0ba23ba9d39800efe4a0aa83b967e5","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/android_kernel_aries_concept/commits/e52918808d0ba23ba9d39800efe4a0aa83b967e5"},{"sha":"ae430c0cb55c16bd9cf6e4271db4a7849f020a89","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/android_kernel_aries_concept/commits/ae430c0cb55c16bd9cf6e4271db4a7849f020a89"},{"sha":"64223192e908f5d597eb5bea9ad72ce9eaa13521","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/android_kernel_aries_concept/commits/64223192e908f5d597eb5bea9ad72ce9eaa13521"},{"sha":"70432530d126b954264656147b33df80284cd97e","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Replace update_shares weight distribution with per-entity computation\n\nNow that the machinery in place is in place to compute contributed load in a\nbottom up fashion; replace the shares distribution code within update_shares()\naccordingly.\n\nChange-Id: Ib53b4ee8d1c1d3e862ce5174d3b7e6ca12276400\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/20120823141507.061208672@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/70432530d126b954264656147b33df80284cd97e"},{"sha":"682b0984866c77354daac358319a44efbc70ea86","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Refactor update_shares_cpu() -> update_blocked_avgs()\n\nNow that running entities maintain their own load-averages the work we must do\nin update_shares() is largely restricted to the periodic decay of blocked\nentities.  This allows us to be a little less pessimistic regarding our\noccupancy on rq->lock and the associated rq->clock updates required.\n\nChange-Id: Iecd8d3c194270fd5617c0473b257d9d6904386a5\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/20120823141507.133999170@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/682b0984866c77354daac358319a44efbc70ea86"},{"sha":"74cfef9a9dc0201f1ab3c074e3429afe80da3a83","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Update_cfs_shares at period edge\n\nNow that our measurement intervals are small (~1ms) we can amortize the posting\nof update_shares() to be about each period overflow.  This is a large cost\nsaving for frequently switching tasks.\n\nChange-Id: I46f9413adf39bd2033f5b84d5134b045d0bf1d4a\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/20120823141507.200772172@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/74cfef9a9dc0201f1ab3c074e3429afe80da3a83"},{"sha":"f7df7fc95d15e207f45ad294d8efac84ab9a85d7","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Make __update_entity_runnable_avg() fast\n\n__update_entity_runnable_avg forms the core of maintaining an entity's runnable\nload average.  In this function we charge the accumulated run-time since last\nupdate and handle appropriate decay.  In some cases, e.g. a waking task, this\ntime interval may be much larger than our period unit.\n\nFortunately we can exploit some properties of our series to perform decay for a\nblocked update in constant time and account the contribution for a running\nupdate in essentially-constant* time.\n\n[*]: For any running entity they should be performing updates at the tick which\ngives us a soft limit of 1 jiffy between updates, and we can compute up to a\n32 jiffy update in a single pass.\n\nC program to generate the magic constants in the arrays:\n\n  #include <math.h>\n  #include <stdio.h>\n\n  #define N 32\n  #define WMULT_SHIFT 32\n\n  const long WMULT_CONST = ((1UL << N) - 1);\n  double y;\n\n  long runnable_avg_yN_inv[N];\n  void calc_mult_inv() {\n  \tint i;\n  \tdouble yn = 0;\n\n  \tprintf(\"inverses\\n\");\n  \tfor (i = 0; i < N; i++) {\n  \t\tyn = (double)WMULT_CONST * pow(y, i);\n  \t\trunnable_avg_yN_inv[i] = yn;\n  \t\tprintf(\"%2d: 0x%8lx\\n\", i, runnable_avg_yN_inv[i]);\n  \t}\n  \tprintf(\"\\n\");\n  }\n\n  long mult_inv(long c, int n) {\n  \treturn (c * runnable_avg_yN_inv[n]) >>  WMULT_SHIFT;\n  }\n\n  void calc_yn_sum(int n)\n  {\n  \tint i;\n  \tdouble sum = 0, sum_fl = 0, diff = 0;\n\n  \t/*\n  \t * We take the floored sum to ensure the sum of partial sums is never\n  \t * larger than the actual sum.\n  \t */\n  \tprintf(\"sum y^n\\n\");\n  \tprintf(\"   %8s  %8s %8s\\n\", \"exact\", \"floor\", \"error\");\n  \tfor (i = 1; i <= n; i++) {\n  \t\tsum = (y * sum + y * 1024);\n  \t\tsum_fl = floor(y * sum_fl+ y * 1024);\n  \t\tprintf(\"%2d: %8.0f  %8.0f %8.0f\\n\", i, sum, sum_fl,\n  \t\t\tsum_fl - sum);\n  \t}\n  \tprintf(\"\\n\");\n  }\n\n  void calc_conv(long n) {\n  \tlong old_n;\n  \tint i = -1;\n\n  \tprintf(\"convergence (LOAD_AVG_MAX, LOAD_AVG_MAX_N)\\n\");\n  \tdo {\n  \t\told_n = n;\n  \t\tn = mult_inv(n, 1) + 1024;\n  \t\ti++;\n  \t} while (n != old_n);\n  \tprintf(\"%d> %ld\\n\", i - 1, n);\n  \tprintf(\"\\n\");\n  }\n\n  void main() {\n  \ty = pow(0.5, 1/(double)N);\n  \tcalc_mult_inv();\n  \tcalc_conv(1024);\n  \tcalc_yn_sum(N);\n  }\n\n[ Compile with -lm ]\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/20120823141507.277808946@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\n\nChange-Id: Ifc6dd06f234483d376bd752e536a49d3d4ca2115","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/f7df7fc95d15e207f45ad294d8efac84ab9a85d7"},{"sha":"e9426c2c1e51e1fab30886813c20999be9fbf3d0","author":{"name":"Paul Turner","email":"65956f0277a169e2acdfe8eb55aaa1663653d482@google.com"},"message":"sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking\n\nWhile per-entity load-tracking is generally useful, beyond computing shares\ndistribution, e.g. runnable based load-balance (in progress), governors,\npower-management, etc.\n\nThese facilities are not yet consumers of this data.  This may be trivially\nreverted when the information is required; but avoid paying the overhead for\ncalculations we will not use until then.\n\nChange-Id: I459d52082af636d1181edb7acb3af973e95714f9\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/20120823141507.422162369@google.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/e9426c2c1e51e1fab30886813c20999be9fbf3d0"},{"sha":"8988a49ee9cb28867f85aa66e3217e2a87d9b59a","author":{"name":"Srivatsa Vaddagiri","email":"4ebad9f61da157750c36beb638e9bb3384814e5d@codeaurora.org"},"message":"sched: Make scheduler aware of cpu frequency state\n\nCapacity of a cpu (how much performance it can deliver) is partly\ndetermined by its frequency (P) state, both current frequency as well\nas max frequency it can reach.  Knowing frequency state of cpus will\nhelp scheduler optimize various functions such as tracking every\ntask's cpu demand and placing tasks on various cpus.\n\nThis patch has scheduler registering for cpufreq notifications to\nbecome aware of cpu's frequency state. Subsequent patches will make\nuse of derived information for various purposes, such as task's scaled\nload (cpu demand) accounting and task placement.\n\nChange-Id: I376dffa1e7f3f47d0496cd7e6ef8b5642ab79016\nSigned-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/8988a49ee9cb28867f85aa66e3217e2a87d9b59a"},{"sha":"d1ddafe910a8603dd858c556192a7cfe808a2d55","author":{"name":"Srivatsa Vaddagiri","email":"4ebad9f61da157750c36beb638e9bb3384814e5d@codeaurora.org"},"message":"sched: window-based load stats for tasks\n\nProvide a metric per task that specifies how cpu bound a task is. Task\nexecution is monitored over several time windows and the fraction of\nthe window for which task was found to be executing or wanting to run\nis recorded as task's demand. Windows over which task was sleeping are\nignored. We track last 5 recent windows for every task and the maximum\ndemand seen in any of the previous 5 windows (where task had some\nactivity) drives freq demand for every task.\n\nA per-cpu metric (rq->cumulative_runnable_avg) is also provided which\nis an aggregation of cpu demand of all tasks currently enqueued on it.\nrq->cumulative_runnable_avg will be useful to know if cpu frequency\nwill need to be changed to match task demand.\n\nChange-Id: Ib83207b9ba8683cd3304ee8a2290695c34f08fe2\nSigned-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/d1ddafe910a8603dd858c556192a7cfe808a2d55"},{"sha":"da29cf57bb3eb832b25f5742bc963c1bd75397f0","author":{"name":"Rohit Gupta","email":"62ae7c7d28daf6453c1207629433f2ff251b3de4@codeaurora.org"},"message":"cpufreq: cpu-boost: Introduce scheduler assisted load based syncs\n\nPreviously, on getting a migration notification cpu-boost changed\nthe scaling min of the destination frequency to match that of the\nsource frequency or sync_threshold whichever was minimum.\n\nIf the scheduler migration notification is extended with task load\n(cpu demand) information, the cpu boost driver can use this load to\ncompute a suitable frequency for the migrating task. The required\nfrequency for the task is calculated by taking the load percentage\nof the max frequency and no sync is performed if the load is less\nthan a particular value (migration_load_threshold).This change is\nbeneficial for both perf and power as demand of a task is taken into\nconsideration while making cpufreq decisions and unnecessary syncs\nfor lightweight tasks are avoided.\n\nThe task load information provided by scheduler comes from a\nwindow-based load collection mechanism which also normalizes the\nload collected by the scheduler to the max possible frequency\nacross all CPUs.\n\nChange-Id: Id2ba91cc4139c90602557f9b3801fb06b3c38992\nSigned-off-by: Rohit Gupta <rohgup@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/da29cf57bb3eb832b25f5742bc963c1bd75397f0"}]}
{"actor":{"display_login":"tunturn"}}