{"push_id":790568321,"size":8,"distinct_size":8,"ref":"refs/heads/cpu_m","head":"40a139102ae08f21a8b610882ee0b2c1e5637436","before":"0603685e603523f0a9a54d41bb5ded5c9e5e1a6f","commits":[{"sha":"3dace263465e8738595f7bd90e3456dd45a7a4de","author":{"email":"eacec64a07d3992385659bedd5929daf0043ba7a@hotmail.com","name":"Syukri Lajin"},"message":"Revert \"CHROMIUM: persistent_ram: remove atomic operations\"\n\nThis reverts commit 9039b0cf54514c7ce1211b6c8ff99a0fa414f1df.","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/3dace263465e8738595f7bd90e3456dd45a7a4de"},{"sha":"1c5a3790044e61b482e3adea4c150f5cd3f09ca2","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"franciscofranco"},"message":"sched/fair: Implement fast idling of CPUs when the system is partially loaded\n\nWhen a system is lightly loaded (i.e. no more than 1 job per cpu),\nattempt to pull job to a cpu before putting it to idle is unnecessary and\ncan be skipped.  This patch adds an indicator so the scheduler can know\nwhen there's no more than 1 active job is on any CPU in the system to\nskip needless job pulls.\n\nOn a 4 socket machine with a request/response kind of workload from\nclients, we saw about 0.13 msec delay when we go through a full load\nbalance to try pull job from all the other cpus.  While 0.1 msec was\nspent on processing the request and generating a response, the 0.13 msec\nload balance overhead was actually more than the actual work being done.\nThis overhead can be skipped much of the time for lightly loaded systems.\n\nWith this patch, we tested with a netperf request/response workload that\nhas the server busy with half the cpus in a 4 socket system.  We found\nthe patch eliminated 75% of the load balance attempts before idling a cpu.\n\nThe overhead of setting/clearing the indicator is low as we already gather\nthe necessary info while we call add_nr_running() and update_sd_lb_stats.()\nWe switch to full load balance load immediately if any cpu got more than\none job on its run queue in add_nr_running.  We'll clear the indicator\nto avoid load balance when we detect no cpu's have more than one job\nwhen we scan the work queues in update_sg_lb_stats().  We are aggressive\nin turning on the load balance and opportunistic in skipping the load\nbalance.\n\nSigned-off-by: Tim Chen <tim.c.chen@linux.intel.com>\nAcked-by: Rik van Riel <riel@redhat.com>\nAcked-by: Jason Low <jason.low2@hp.com>\nCc: \"Paul E.McKenney\" <paulmck@linux.vnet.ibm.com>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Davidlohr Bueso <davidlohr@hp.com>\nCc: Alex Shi <alex.shi@linaro.org>\nCc: Michel Lespinasse <walken@google.com>\nCc: Peter Hurley <peter@hurleysoftware.com>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nLink: http://lkml.kernel.org/r/1403551009.2970.613.camel@schen9-DESK\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\n\n(Patch adapted for 3.10)\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/1c5a3790044e61b482e3adea4c150f5cd3f09ca2"},{"sha":"1d3a52c2ce1f0334f43496ac840086f35aee90c6","author":{"email":"6affa2782fb8514898f88c7c4a087191fcbabb20@linux.vnet.ibm.com","name":"Michael Wang"},"message":"sched: Implement smarter wake-affine logic\n\nThe wake-affine scheduler feature is currently always trying to pull\nthe wakee close to the waker. In theory this should be beneficial if\nthe waker's CPU caches hot data for the wakee, and it's also beneficial\nin the extreme ping-pong high context switch rate case.\n\nTesting shows it can benefit hackbench up to 15%.\n\nHowever, the feature is somewhat blind, from which some workloads\nsuch as pgbench suffer. It's also time-consuming algorithmically.\n\nTesting shows it can damage pgbench up to 50% - far more than the\nbenefit it brings in the best case.\n\nSo wake-affine should be smarter and it should realize when to\nstop its thankless effort at trying to find a suitable CPU to wake on.\n\nThis patch introduces 'wakee_flips', which will be increased each\ntime the task flips (switches) its wakee target.\n\nSo a high 'wakee_flips' value means the task has more than one\nwakee, and the bigger the number, the higher the wakeup frequency.\n\nNow when making the decision on whether to pull or not, pay attention to\nthe wakee with a high 'wakee_flips', pulling such a task may benefit\nthe wakee. Also imply that the waker will face cruel competition later,\nit could be very cruel or very fast depends on the story behind\n'wakee_flips', waker therefore suffers.\n\nFurthermore, if waker also has a high 'wakee_flips', that implies that\nmultiple tasks rely on it, then waker's higher latency will damage all\nof them, so pulling wakee seems to be a bad deal.\n\nThus, when 'waker->wakee_flips / wakee->wakee_flips' becomes\nhigher and higher, the cost of pulling seems to be worse and worse.\n\nThe patch therefore helps the wake-affine feature to stop its pulling\nwork when:\n\n\twakee->wakee_flips > factor &&\n\twaker->wakee_flips > (factor * wakee->wakee_flips)\n\nThe 'factor' here is the number of CPUs in the current CPU's NUMA node,\nso a bigger node will lead to more pulling since the trial becomes more\nsevere.\n\nAfter applying the patch, pgbench shows up to 40% improvements and no regressions.\n\nTested with 12 cpu x86 server and tip 3.10.0-rc7.\n\nThe percentages in the final column highlight the areas with the biggest wins,\nall other areas improved as well:\n\n\tpgbench\t\t    base\tsmart\n\n\t| db_size | clients |  tps  |\t|  tps  |\n\t+---------+---------+-------+   +-------+\n\t| 22 MB   |       1 | 10598 |   | 10796 |\n\t| 22 MB   |       2 | 21257 |   | 21336 |\n\t| 22 MB   |       4 | 41386 |   | 41622 |\n\t| 22 MB   |       8 | 51253 |   | 57932 |\n\t| 22 MB   |      12 | 48570 |   | 54000 |\n\t| 22 MB   |      16 | 46748 |   | 55982 | +19.75%\n\t| 22 MB   |      24 | 44346 |   | 55847 | +25.93%\n\t| 22 MB   |      32 | 43460 |   | 54614 | +25.66%\n\t| 7484 MB |       1 |  8951 |   |  9193 |\n\t| 7484 MB |       2 | 19233 |   | 19240 |\n\t| 7484 MB |       4 | 37239 |   | 37302 |\n\t| 7484 MB |       8 | 46087 |   | 50018 |\n\t| 7484 MB |      12 | 42054 |   | 48763 |\n\t| 7484 MB |      16 | 40765 |   | 51633 | +26.66%\n\t| 7484 MB |      24 | 37651 |   | 52377 | +39.11%\n\t| 7484 MB |      32 | 37056 |   | 51108 | +37.92%\n\t| 15 GB   |       1 |  8845 |   |  9104 |\n\t| 15 GB   |       2 | 19094 |   | 19162 |\n\t| 15 GB   |       4 | 36979 |   | 36983 |\n\t| 15 GB   |       8 | 46087 |   | 49977 |\n\t| 15 GB   |      12 | 41901 |   | 48591 |\n\t| 15 GB   |      16 | 40147 |   | 50651 | +26.16%\n\t| 15 GB   |      24 | 37250 |   | 52365 | +40.58%\n\t| 15 GB   |      32 | 36470 |   | 50015 | +37.14%\n\nSigned-off-by: Michael Wang <wangyun@linux.vnet.ibm.com>\nCc: Mike Galbraith <efault@gmx.de>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nLink: http://lkml.kernel.org/r/51D50057.9000809@linux.vnet.ibm.com\n[ Improved the changelog. ]\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/1d3a52c2ce1f0334f43496ac840086f35aee90c6"},{"sha":"201388c8449100b19fa05789fd45d8a905beb63a","author":{"email":"3fddac958924aef220f202ca567388ddab3f14a8@infradead.org","name":"Peter Zijlstra"},"message":"sched: Micro-optimize the smart wake-affine logic\n\nSmart wake-affine is using node-size as the factor currently, but the overhead\nof the mask operation is high.\n\nThus, this patch introduce the 'sd_llc_size' percpu variable, which will record\nthe highest cache-share domain size, and make it to be the new factor, in order\nto reduce the overhead and make it more reasonable.\n\nTested-by: Davidlohr Bueso <davidlohr.bueso@hp.com>\nTested-by: Michael Wang <wangyun@linux.vnet.ibm.com>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nAcked-by: Michael Wang <wangyun@linux.vnet.ibm.com>\nCc: Mike Galbraith <efault@gmx.de>\nLink: http://lkml.kernel.org/r/51D5008E.6030102@linux.vnet.ibm.com\n[ Tidied up the changelog. ]\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/201388c8449100b19fa05789fd45d8a905beb63a"},{"sha":"9b4577933b26828db152b148afe9704709d7ed61","author":{"email":"eacec64a07d3992385659bedd5929daf0043ba7a@hotmail.com","name":"Syukri Lajin"},"message":"Revert \"hm2014811: switch kernel compression to lzo\"\n\nThis reverts commit 4d81503be65e35aa57e59e66e9e66d5a5c5f1bcd.","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/9b4577933b26828db152b148afe9704709d7ed61"},{"sha":"6c7e3ae9662ff3ca1b11fccf07a556c75efa1c38","author":{"email":"eacec64a07d3992385659bedd5929daf0043ba7a@hotmail.com","name":"Syukri Lajin"},"message":"Revert \"IKJB42MAIN-2096 arm: kernel: only read BL sigs once from DT\"\n\nThis reverts commit 239f3feb74dd1e3014b72c7564b0bb9c4c8d7a15.","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/6c7e3ae9662ff3ca1b11fccf07a556c75efa1c38"},{"sha":"f3aac9de6977d36128d9a682656f7c393f18c539","author":{"email":"eacec64a07d3992385659bedd5929daf0043ba7a@hotmail.com","name":"Syukri Lajin"},"message":"Revert \"IKQCOMSD1-1733 arm: kernel: parse OF DT for boot parameters\"\n\nThis reverts commit c4897676ac4eb60af1a2dfb894ba64f423baf5a5.","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/f3aac9de6977d36128d9a682656f7c393f18c539"},{"sha":"40a139102ae08f21a8b610882ee0b2c1e5637436","author":{"email":"eacec64a07d3992385659bedd5929daf0043ba7a@hotmail.com","name":"Syukri Lajin"},"message":"Revert \"IKHSS7-41225 Display BL build info in /proc/bootinfo\"\n\nThis reverts commit 478d484b121f2156352a49b2e48e63ff2db73b9d.","distinct":true,"url":"https://api.github.com/repos/gingerboy92/android_kernel_xiaomi_msm8916/commits/40a139102ae08f21a8b610882ee0b2c1e5637436"}]}