{"push_id":636373128,"size":79,"distinct_size":79,"ref":"refs/heads/master","head":"4a0dcbf002938746ee66c1c3aa0414ec84d88c82","before":"0a09507259bc2fc4ac337ca30fe062b68a04de2b","commits":[{"sha":"a3de012cb8834d3bfc14834740f96953c62b258a","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"bfs: just get rid of the migration_notifier_head call chain.\nBefore we put in a stub  but never implemented any calls - this gets rid of that stub. The whole purpose of this is for cgroups anyway.","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/a3de012cb8834d3bfc14834740f96953c62b258a"},{"sha":"f030bec9a219d07ab26197f366bb5a866959a568","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"bfs: fix broken yield_to comparison\n- rq != rq is always false. We should be comparing it to the other thread not itself.\n- Only like one place in the kernel uses this yield_to code so it isn't all that significant","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/f030bec9a219d07ab26197f366bb5a866959a568"},{"sha":"8e18a7b1faaa9c50baaf2fcc6f601f5b9be501d0","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"bfs: in sched_show_task see if pid is alive before setting parent pid\nNo need to get the parent process if its child is already finished","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/8e18a7b1faaa9c50baaf2fcc6f601f5b9be501d0"},{"sha":"49eba6774d801c35427b00268f7a9ff7c51dfbca","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"bfs: optimize loops with for_each_process_thread\nSomewhere along the lines for_each_process_thread was defined in 3.10, either in MSM or in v3.10.y . We can safely optimize these loops.","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/49eba6774d801c35427b00268f7a9ff7c51dfbca"},{"sha":"532b735f6250ca5b4438853ee239af6541fea4b7","author":{"email":"4aa5652442886f3c4e77d3a743dc27e129c1613f@hp.com","name":"Davidlohr Bueso"},"message":"mm: per-thread vma caching\n\nThis patch is a continuation of efforts trying to optimize find_vma(),\navoiding potentially expensive rbtree walks to locate a vma upon faults.\nThe original approach (https://lkml.org/lkml/2013/11/1/410), where the\nlargest vma was also cached, ended up being too specific and random,\nthus further comparison with other approaches were needed.  There are\ntwo things to consider when dealing with this, the cache hit rate and\nthe latency of find_vma().  Improving the hit-rate does not necessarily\ntranslate in finding the vma any faster, as the overhead of any fancy\ncaching schemes can be too high to consider.\n\nWe currently cache the last used vma for the whole address space, which\nprovides a nice optimization, reducing the total cycles in find_vma() by\nup to 250%, for workloads with good locality.  On the other hand, this\nsimple scheme is pretty much useless for workloads with poor locality.\nAnalyzing ebizzy runs shows that, no matter how many threads are\nrunning, the mmap_cache hit rate is less than 2%, and in many situations\nbelow 1%.\n\nThe proposed approach is to replace this scheme with a small per-thread\ncache, maximizing hit rates at a very low maintenance cost.\nInvalidations are performed by simply bumping up a 32-bit sequence\nnumber.  The only expensive operation is in the rare case of a seq\nnumber overflow, where all caches that share the same address space are\nflushed.  Upon a miss, the proposed replacement policy is based on the\npage number that contains the virtual address in question.  Concretely,\nthe following results are seen on an 80 core, 8 socket x86-64 box:\n\n1) System bootup: Most programs are single threaded, so the per-thread\n   scheme does improve ~50% hit rate by just adding a few more slots to\n   the cache.\n\n+----------------+----------+------------------+\n| caching scheme | hit-rate | cycles (billion) |\n+----------------+----------+------------------+\n| baseline       | 50.61%   | 19.90            |\n| patched        | 73.45%   | 13.58            |\n+----------------+----------+------------------+\n\n2) Kernel build: This one is already pretty good with the current\n   approach as we're dealing with good locality.\n\n+----------------+----------+------------------+\n| caching scheme | hit-rate | cycles (billion) |\n+----------------+----------+------------------+\n| baseline       | 75.28%   | 11.03            |\n| patched        | 88.09%   | 9.31             |\n+----------------+----------+------------------+\n\n3) Oracle 11g Data Mining (4k pages): Similar to the kernel build workload.\n\n+----------------+----------+------------------+\n| caching scheme | hit-rate | cycles (billion) |\n+----------------+----------+------------------+\n| baseline       | 70.66%   | 17.14            |\n| patched        | 91.15%   | 12.57            |\n+----------------+----------+------------------+\n\n4) Ebizzy: There's a fair amount of variation from run to run, but this\n   approach always shows nearly perfect hit rates, while baseline is just\n   about non-existent.  The amounts of cycles can fluctuate between\n   anywhere from ~60 to ~116 for the baseline scheme, but this approach\n   reduces it considerably.  For instance, with 80 threads:\n\n+----------------+----------+------------------+\n| caching scheme | hit-rate | cycles (billion) |\n+----------------+----------+------------------+\n| baseline       | 1.06%    | 91.54            |\n| patched        | 99.97%   | 14.18            |\n+----------------+----------+------------------+\n\n[akpm@linux-foundation.org: fix nommu build, per Davidlohr]\n[akpm@linux-foundation.org: document vmacache_valid() logic]\n[akpm@linux-foundation.org: attempt to untangle header files]\n[akpm@linux-foundation.org: add vmacache_find() BUG_ON]\n[hughd@google.com: add vmacache_valid_mm() (from Oleg)]\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: adjust and enhance comments]\nSigned-off-by: Davidlohr Bueso <davidlohr@hp.com>\nReviewed-by: Rik van Riel <riel@redhat.com>\nAcked-by: Linus Torvalds <torvalds@linux-foundation.org>\nReviewed-by: Michel Lespinasse <walken@google.com>\nCc: Oleg Nesterov <oleg@redhat.com>\nTested-by: Hugh Dickins <hughd@google.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/532b735f6250ca5b4438853ee239af6541fea4b7"},{"sha":"29117ee07c3e4dca1791773dae7f6c8ebaa04011","author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"message":"mm: don't pointlessly use BUG_ON() for sanity check\n\nBUG_ON() is a big hammer, and should be used _only_ if there is some\nmajor corruption that you cannot possibly recover from, making it\nimperative that the current process (and possibly the whole machine) be\nterminated with extreme prejudice.\n\nThe trivial sanity check in the vmacache code is *not* such a fatal\nerror.  Recovering from it is absolutely trivial, and using BUG_ON()\njust makes it harder to debug for no actual advantage.\n\nTo make matters worse, the placement of the BUG_ON() (only if the range\ncheck matched) actually makes it harder to hit the sanity check to begin\nwith, so _if_ there is a bug (and we just got a report from Srivatsa\nBhat that this can indeed trigger), it is harder to debug not just\nbecause the machine is possibly dead, but because we don't have better\ncoverage.\n\nBUG_ON() must *die*.  Maybe we should add a checkpatch warning for it,\nbecause it is simply just about the worst thing you can ever do if you\nhit some \"this cannot happen\" situation.\n\nReported-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>\nCc: Davidlohr Bueso <davidlohr@hp.com>\nCc: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/29117ee07c3e4dca1791773dae7f6c8ebaa04011"},{"sha":"8f603f5a3fe7c9475d6ace09655cf3b42107d79a","author":{"email":"4aa5652442886f3c4e77d3a743dc27e129c1613f@hp.com","name":"Davidlohr Bueso"},"message":"mm,vmacache: optimize overflow system-wide flushing\n\nFor single threaded workloads, we can avoid flushing and iterating through\nthe entire list of tasks, making the whole function a lot faster,\nrequiring only a single atomic read for the mm_users.\n\nSigned-off-by: Davidlohr Bueso <davidlohr@hp.com>\nSuggested-by: Oleg Nesterov <oleg@redhat.com>\nCc: Aswin Chandramouleeswaran <aswin@hp.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/8f603f5a3fe7c9475d6ace09655cf3b42107d79a"},{"sha":"e40f1e728e6698772c75239c854b2aae59b10403","author":{"email":"d76701c8994d429ae27f3beb6ae5506d2b99b818@linux.it","name":"Dario Faggioli"},"message":"sched: Add new scheduler syscalls to support an extended scheduling parameters ABI\n\nAdd the syscalls needed for supporting scheduling algorithms\nwith extended scheduling parameters (e.g., SCHED_DEADLINE).\n\nIn general, it makes possible to specify a periodic/sporadic task,\nthat executes for a given amount of runtime at each instance, and is\nscheduled according to the urgency of their own timing constraints,\ni.e.:\n\n - a (maximum/typical) instance execution time,\n - a minimum interval between consecutive instances,\n - a time constraint by which each instance must be completed.\n\nThus, both the data structure that holds the scheduling parameters of\nthe tasks and the system calls dealing with it must be extended.\nUnfortunately, modifying the existing struct sched_param would break\nthe ABI and result in potentially serious compatibility issues with\nlegacy binaries.\n\nFor these reasons, this patch:\n\n - defines the new struct sched_attr, containing all the fields\n   that are necessary for specifying a task in the computational\n   model described above;\n\n - defines and implements the new scheduling related syscalls that\n   manipulate it, i.e., sched_setattr() and sched_getattr().\n\nSyscalls are introduced for x86 (32 and 64 bits) and ARM only, as a\nproof of concept and for developing and testing purposes. Making them\navailable on other architectures is straightforward.\n\nSince no \"user\" for these new parameters is introduced in this patch,\nthe implementation of the new system calls is just identical to their\nalready existing counterpart. Future patches that implement scheduling\npolicies able to exploit the new data structure must also take care of\nmodifying the sched_*attr() calls accordingly with their own purposes.\n\nSigned-off-by: Dario Faggioli <raistlin@linux.it>\n[ Rewrote to use sched_attr. ]\nSigned-off-by: Juri Lelli <juri.lelli@gmail.com>\n[ Removed sched_setscheduler2() for now. ]\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nLink: http://lkml.kernel.org/r/1383831828-15501-3-git-send-email-juri.lelli@gmail.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/e40f1e728e6698772c75239c854b2aae59b10403"},{"sha":"d8ad74c4eb0669ae09fa4ec543d2034b3d3510cd","author":{"email":"3fddac958924aef220f202ca567388ddab3f14a8@infradead.org","name":"Peter Zijlstra"},"message":"sched: Add 'flags' argument to sched_{set,get}attr() syscalls\n\nBecause of a recent syscall design debate; its deemed appropriate for\neach syscall to have a flags argument for future extension; without\nimmediately requiring new syscalls.\n\nCc: juri.lelli@gmail.com\nCc: Ingo Molnar <mingo@redhat.com>\nSuggested-by: Michael Kerrisk <mtk.manpages@gmail.com>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nLink: http://lkml.kernel.org/r/20140214161929.GL27965@twins.programming.kicks-ass.net\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/d8ad74c4eb0669ae09fa4ec543d2034b3d3510cd"},{"sha":"6fcc101756a43d555895bc6b6102c8775ec90bea","author":{"email":"00e4cf8f46a57000a44449bf9dd8cbbcc209fd2a@linutronix.de","name":"Thomas Gleixner"},"message":"sched: Consider pi boosting in setscheduler()\n\nIf a PI boosted task policy/priority is modified by a setscheduler()\ncall we unconditionally dequeue and requeue the task if it is on the\nrunqueue even if the new priority is lower than the current effective\nboosted priority. This can result in undesired reordering of the\npriority bucket list.\n\nIf the new priority is less or equal than the current effective we\njust store the new parameters in the task struct and leave the\nscheduler class and the runqueue untouched. This is handled when the\ntask deboosts itself. Only if the new priority is higher than the\neffective boosted priority we apply the change immediately.\n\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\n[ Rebase ontop of v3.14-rc1. ]\nSigned-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>\nCc: Dario Faggioli <raistlin@linux.it>\nSigned-off-by: Peter Zijlstra <peterz@infradead.org>\nLink: http://lkml.kernel.org/r/1391803122-4425-7-git-send-email-bigeasy@linutronix.de\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/6fcc101756a43d555895bc6b6102c8775ec90bea"},{"sha":"dd6b41ba2a00d3cb6df90bea8aac591de4eba733","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"bfs: add full cpumask LLC (last level cache) cpu selection\n- From alfred chen 3.19.y-gc branch\nIncludes the following from upstream as pre-requisites:\n- 8d65775d \"cpufreq: handle calls to -> target_index() in separate routine\n- 1c03a2d0 \"cpufreq: add support for intermediate (stable) frequencies\"","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/dd6b41ba2a00d3cb6df90bea8aac591de4eba733"},{"sha":"afd4613e4d9b99e2a825127147c947d4724dc86d","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"bfs: add support for new sched_get/set_attr syscalls\nAlso includes RT mutex priority boosting consideration","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/afd4613e4d9b99e2a825127147c947d4724dc86d"},{"sha":"1a83b13f27fc1ddaab81727c72ff05f64c20987c","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"mm: per-thread vma caching (missing changes)","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/1a83b13f27fc1ddaab81727c72ff05f64c20987c"},{"sha":"0b7e4c12bdc0cacace0c0ccbf3efa6a1c474ee7d","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"cpufreq: missing intermediate and restore_freq from header","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/0b7e4c12bdc0cacace0c0ccbf3efa6a1c474ee7d"},{"sha":"ef53763c28d69f578735426e13d02d8c77c8b554","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"Revert \"cpufreq: missing intermediate and restore_freq from header\"\n\nThis reverts commit 20d99a34a8dab02dcbf23779e0b52b52e1af005c.","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/ef53763c28d69f578735426e13d02d8c77c8b554"},{"sha":"27627842ae1eaeefa7b8667844f0abb448c4a426","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"cpufreq: revert intermediate frequency support\nThese came along with ad7dd6163c7892395b5ce31dc402359dd49f8605 ,\nthey actually are not required for the LLC cpumask stuff and cause a performance regression.","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/27627842ae1eaeefa7b8667844f0abb448c4a426"},{"sha":"134d26724907502cd8827fe73c8ccc2a511a23a5","author":{"email":"4f433e929189a8c50d5716e271a7ceb94de7ee2a@gmail.com","name":"Brandon Berhent"},"message":"adreno/kgsl: completely sync this with what's in lean kernel\nI'm seeing random page faults in the log, not sure if something here is causing it.\nThis is a lazy way of searching for the cause.","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/134d26724907502cd8827fe73c8ccc2a511a23a5"},{"sha":"2be48cd22b9665211003a9678c716f347c51c369","author":{"email":"287e02744ae7c802bbb99a60be19e5052bdd29c3@codeaurora.org","name":"Banajit Goswami"},"message":"ASoC: msm: reorg q6core header file\n\nThis is needed to allow include from\nnon soc folder.\n\nCRs-Fixed: 689849\nChange-Id: I753012d5ce9c5a788e75b4edf9b0099b58b30ec0\nSigned-off-by: Asish Bhattacharya <asishb@codeaurora.org>\nSigned-off-by: Banajit Goswami <bgoswami@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/2be48cd22b9665211003a9678c716f347c51c369"},{"sha":"c534c784aae1f3806dbe9eb3d3be41be8ea238cf","author":{"email":"500bfaf4a319a8240a69d06b94d025a1d7213ce7@codeaurora.org","name":"Aviral Gupta"},"message":"ASoC: msm: fix the hph and lineout concurrency\n\nThere was a noise observed during the concurrency of the\nhph and the lineout usecase.\nThis is due to incorrect register value updates in the concurrencies.\n\nCRs-Fixed: 684412\nChange-Id: Ia3f01aec017499d703acc8e170d4444676e50003\nSigned-off-by: Aviral Gupta <aviralg@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/c534c784aae1f3806dbe9eb3d3be41be8ea238cf"},{"sha":"a71a049469457ee4875a21903a3feec00a488920","author":{"email":"0898c4e5c8d849879fa65e9f23cfa9cb45bd5a93@codeaurora.org","name":"Phani Kumar Uppalapati"},"message":"ASoC: wcd9xxx: Notify mbhc when TX1/IN1 path is enabled\n\nNotification is sent to mbhc whenever TX1/IN1 path is used\nfor audio capture. MBHC then will switch to VDDIO if headset\nis inserted. This is to avoid polling noise that gets captured\nin the recorded audio due to noise coupling in hardware b/w\nTX2 and TX1 paths.\n\nChange-Id: Iac40f41572d1417d2afdc55438d86c047710824f\nSigned-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/f100cleveland/Vindicator-Rebase/commits/a71a049469457ee4875a21903a3feec00a488920"}]}