{"push_id":562397659,"size":122,"distinct_size":122,"ref":"refs/heads/cm-11.0-old","head":"39702f63a5b122b52a349138b14fc40041e563d2","before":"8696b77ed6ac7c5813b703968975978ee710fe29","commits":[{"sha":"c8cdde643bc870a5e895cf8f388a3fe33e747d6f","author":{"email":"21e109c4b7abafbb52f8a38c08add68631e9beca@gmail.com","name":"khanfrd"},"message":"revert misc: ImmVibeSPI: add support for setting vibration intensity","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/c8cdde643bc870a5e895cf8f388a3fe33e747d6f"},{"sha":"7f0a356a71ded8d1497b44e2dd7d0f401ea213b1","author":{"email":"21e109c4b7abafbb52f8a38c08add68631e9beca@gmail.com","name":"khanfrd"},"message":"use ccache","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/7f0a356a71ded8d1497b44e2dd7d0f401ea213b1"},{"sha":"174d523d7c9730340e9884bb2aac2ebfccc75f5f","author":{"email":"21e109c4b7abafbb52f8a38c08add68631e9beca@gmail.com","name":"khanfrd"},"message":"gitignore: add user ignores","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/174d523d7c9730340e9884bb2aac2ebfccc75f5f"},{"sha":"446a1ed5cc1cb4af8448600cbbef20e0ded5fbea","author":{"email":"21e109c4b7abafbb52f8a38c08add68631e9beca@gmail.com","name":"khanfrd"},"message":"add snappy deconfig","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/446a1ed5cc1cb4af8448600cbbef20e0ded5fbea"},{"sha":"f5f268c54de0c0f4a12aa65120eedd6d1cda9745","author":{"email":"21e109c4b7abafbb52f8a38c08add68631e9beca@gmail.com","name":"khanfrd"},"message":"fix some derps","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/f5f268c54de0c0f4a12aa65120eedd6d1cda9745"},{"sha":"17a013b7a46da32251a282ee57876efc34d8ba50","author":{"email":"e7599f058eb333bbde8ca2e2d0738155eec20f63@liquorix.net","name":"Steven Barrett"},"message":"net: combat buffer bloat\n\nSet tx_queue_len to 50 (FreeBSD default) from 1000 to reduce latencies.  Set\ntcp_ecn to 1 to force enable Explicit Congestion Notification.  These two\nchanges should make a positive impact network performance.  Possible drop in\nthroughput with 1 gbit and faster networks.\n\nnet: restore tcp_ecn default\n\nForcing ECN breaks some Cisco routers with SPI firewall enabled.\n\nSigned-off-by: Luka Karinja <lk@varjanta.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/17a013b7a46da32251a282ee57876efc34d8ba50"},{"sha":"ddaf824bdad0eb0f3365aa082837aefc452ec1b4","author":{"email":"9b20e9ff78b04ea36084e818be32bd1148855d55@varjanta.com","name":"pinkflozd"},"message":"The Ultra Kernel Samepage Merging feature\nUltra KSM. Copyright (C) 2011-2012 Nai Xia\n\nThis is an improvement upon KSM. Some basic data structures and routines\nare borrowed from ksm.c .\n\nIts new features:\n1. Full system scan:\n     It automatically scans all user processes' anonymous VMAs. Kernel-user\n     interaction to submit a memory area to KSM is no longer needed.\n\n2. Rich area detection:\n     It automatically detects rich areas containing abundant duplicated\n     pages based. Rich areas are given a full scan speed. Poor areas are\n     sampled at a reasonable speed with very low CPU consumption.\n\n3. Ultra Per-page scan speed improvement:\n     A new hash algorithm is proposed. As a result, on a machine with\n     Core(TM)2 Quad Q9300 CPU in 32-bit mode and 800MHZ DDR2 main memory, it\n     can scan memory areas that does not contain duplicated pages at speed of\n     627MB/sec ~ 2445MB/sec and can merge duplicated areas at speed of\n     477MB/sec ~ 923MB/sec.\n\n4. Thrashing area avoidance:\n     Thrashing area(an VMA that has frequent Ksm page break-out) can be\n     filtered out. My benchmark shows it's more efficient than KSM's per-page\n     hash value based volatile page detection.\n\n5. Misc changes upon KSM:\n    It has a fully x86-opitmized memcmp dedicated for 4-byte-aligned page\n       comparison. It's much faster than default C version on x86.\n    rmap_item now has an structpage member to loosely cache a\n       address-->page mapping, which reduces too much time-costly\n       follow_page().\n    The VMA creation/exit procedures are hooked to let the Ultra KSM know.\n    try_to_merge_two_pages() now can revert a pte if it fails. No break_\n       ksm is needed for this case.\n\n6. Full Zero Page consideration(contributed by Figo Zhang)\n   Now uksmd consider full zero pages as special pages and merge them to an\n   special unswappable uksm zero page.","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/ddaf824bdad0eb0f3365aa082837aefc452ec1b4"},{"sha":"831062e31060f1aee72a2e57afc766317196085d","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"lib/memcopy: use glibc version\n\nthe kernel's memcpy and memmove is very inefficient. But the glibc version is\nquite fast, in some cases it is 10 times faster than the kernel version. So I\nintroduce some memory copy macros and functions of the glibc to improve the\nkernel version's performance.\n\nThe strategy of the memory functions is:\n1. Copy bytes until the destination pointer is aligned.\n2. Copy words in unrolled loops.  If the source and destination are not\n   aligned in the same way, use word memory operations, but shift and merge\n   two read words before writing.\n3. Copy the few remaining bytes.\n\nSigned-off-by: Miao Xie <miaox*******>\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/831062e31060f1aee72a2e57afc766317196085d"},{"sha":"0773ce4a3426d1c841bb409b7c103f666f314bd7","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"lib/string: use glibc version\n\nthe performance of memcpy and memmove of the general version is very\ninefficient, this patch improved them.\n\nSigned-off-by: Miao Xie <miaox*******>\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/0773ce4a3426d1c841bb409b7c103f666f314bd7"},{"sha":"5e24df15201c37e3375c329a709d7e445bd7a83e","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"Paul Reioux"},"message":"scheduler: compute time-average nr_running per run-queue\n\nCompute the time-average number of running tasks per run-queue for a\ntrailing window of a fixed time period. The detla add/sub to the\naverage value is weighted by the amount of time per nr_running value\nrelative to the total measurement period.\n\nChange-Id: I076e24ff4ed65bed3b8dd8d2b279a503318071ff\nSigned-off-by: Diwakar Tundlam <dtundlam@nvidia.com>\n(cherry picked from commit 3a12d7499cee352e8a46eaf700259ba3c733f0e3)\nReviewed-on: http://git-master/r/111635\nReviewed-by: Automatic_Commit_Validation_User\nReviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>\nTested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>\nReviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>\nReviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>\n\nforward ported to Linux 3.4 for use on S-800\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/5e24df15201c37e3375c329a709d7e445bd7a83e"},{"sha":"ecbb9f68732ea7b1e4c2d845eace631dd29da4b5","author":{"email":"0bb3d1743eb3bd3a2264c4ae53e41fbba0d37110@nvidia.com","name":"Alex Frid"},"message":"proc: enhance time-average nr_running stats\n\nAdd time-average nr_running to loadavg printout\n\nBug 958978\n\nChange-Id: I5c6904efb52a86f4964eb66c1576fc91f60f5b1d\nSigned-off-by: Alex Frid <afrid@nvidia.com>\n(cherry picked from commit 86f3642cc44a69d1e4798719bd9182cd6923f526)\nReviewed-on: http://git-master/r/111636\nReviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>\nTested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>\nReviewed-by: Automatic_Commit_Validation_User\nReviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>\nReviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/ecbb9f68732ea7b1e4c2d845eace631dd29da4b5"},{"sha":"7c8157e7c0906589c0fed0537abd4b91a9e7036c","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"scheduler: Re-compute time-average nr_running on read\n\nRe-compute time-average nr_running when it is read. This would\nprevent reading stalled average value if there were no run-queue\nchanges for a long time. New average value is returned to the reader,\nbut not stored to avoid concurrent writes. Light-weight sequential\ncounter synchronization is used to assure data consistency for\nre-computing average.\n\nChange-Id: I8e4ea1b28ea00b3ddaf6ef7cdcd27866f87d360b\nSigned-off-by: Alex Frid <afrid@nvidia.com>\n(cherry picked from commit 527a759d9b40bf57958eb002edd2bb82014dab99)\nReviewed-on: http://git-master/r/111637\nReviewed-by: Sai Gurrappadi <sgurrappadi@nvidia.com>\nTested-by: Sai Gurrappadi <sgurrappadi@nvidia.com>\nReviewed-by: Automatic_Commit_Validation_User\nReviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>\nReviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>\n\nforward ported to Linux 3.4 for use on Mako\n\nSigned-off-by: faux123 <reioux@gmail.com>\n\nConflicts:\n\n\tkernel/sched/sched.h","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/7c8157e7c0906589c0fed0537abd4b91a9e7036c"},{"sha":"2bfdfee30d8289415b14cc7fd68e80c3705a1745","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"overall_stats: add overall stats for all available cores\n\nthis is much more accurate stats tracking than just displaying core 0's\nstats from most other kernels\n\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/2bfdfee30d8289415b14cc7fd68e80c3705a1745"},{"sha":"ab3d1d168de1909b6adb3f0bb1bef7fab907e4b2","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"overall_stats: make dual/quad core stats configurable via meunconfig\n\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/ab3d1d168de1909b6adb3f0bb1bef7fab907e4b2"},{"sha":"408da6851b20feccd98f6a415c636de61e721bb3","author":{"email":"c208d1ecece4e5ef2e4fb72f0546c69cdce89063@gmail.com","name":"faux123"},"message":"overall_stats: forward port to kernel 3.4+\n\nby replacing deprecated functions with native add/sub for 64bit data types\n\nSigned-off-by: faux123 <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/408da6851b20feccd98f6a415c636de61e721bb3"},{"sha":"b1b2cd3eae97e6107823c43e41311312e6729bb8","author":{"email":"77843028b8f8419c9977951e271784ccf7804be9@unimore.it","name":"Paolo Valente"},"message":"block: cgroups, kconfig, build bits for BFQ-v6-3.4\n\nUpdate Kconfig.iosched and do the related Makefile changes to include\nkernel configuration options for BFQ. Also add the bfqio controller\nto the cgroups subsystem.\n\nSigned-off-by: Paolo Valente <paolo.valente@unimore.it>\nSigned-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/b1b2cd3eae97e6107823c43e41311312e6729bb8"},{"sha":"a5480d39505c289aadc80befb7f83302954e3ed8","author":{"email":"20b1b82ea87150022f6495522a9f5e355ea8b305@gmail.com","name":"Arianna Avanzini"},"message":"block: introduce the BFQ-v6 I/O sched for 3.4\n\nAdd the BFQ-v6 I/O scheduler to 3.4.\nThe general structure is borrowed from CFQ, as much code. A (bfq_)queue is\nassociated to each task doing I/O on a device, and each time a scheduling\ndecision has to be made a queue is selected and served until it expires.\n\n    - Slices are given in the service domain: tasks are assigned budgets,\n      measured in number of sectors. Once got the disk, a task must\n      however consume its assigned budget within a configurable maximum time\n      (by default, the maximum possible value of the budgets is automatically\n      computed to comply with this timeout). This allows the desired latency\n      vs \"throughput boosting\" tradeoff to be set.\n\n    - Budgets are scheduled according to a variant of WF2Q+, implemented\n      using an augmented rb-tree to take eligibility into account while\n      preserving an O(log N) overall complexity.\n\n    - A low-latency tunable is provided; if enabled, both interactive and soft\n      real-time applications are guaranteed very low latency.\n\n    - Latency guarantees are preserved also in presence of NCQ.\n\n    - Also with flash-based devices, a high throughput is achieved while\n      still preserving latency guarantees.\n\n    - A useful feature borrowed from CFQ: static fallback queue for OOM.\n\n    - Differently from CFQ, BFQ uses a unified mechanism (Early Queue Merge,\n      EQM) to get a sequential read pattern, and hence a high throughput,\n      with any set of processes performing interleaved I/O. EQM also\n      preserves low latency. The code for detecting whether two queues have\n      to be merged is a slightly modified version of the CFQ code for\n      detecting whether two queues belong to cooperating processes and whether\n      the service of a queue should be preempted to boost the throughput.\n\n    - BFQ supports full hierarchical scheduling, exporting a cgroups\n      interface.  Each node has a full scheduler, so each group can\n      be assigned its own ioprio (mapped to a weight, see next point)\n      and an ioprio_class.\n\n    - If the cgroups interface is used, weights can be explictly assigned,\n      otherwise ioprio values are mapped to weights using the relation\n      weight = IOPRIO_BE_NR - ioprio.\n\n    - ioprio classes are served in strict priority order, i.e., lower\n      priority queues are not served as long as there are higher priority\n      queues.  Among queues in the same class the bandwidth is distributed\n      in proportion to the weight of each queue. A very thin extra bandwidth\n      is however guaranteed to the Idle class, to prevent it from starving.\n\nSigned-off-by: Paolo Valente <paolo.valente@unimore.it>\nSigned-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/a5480d39505c289aadc80befb7f83302954e3ed8"},{"sha":"eebaf8235793fc9f560a24e9cb6214ebcff55d10","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops ioscheduler core\n\nFIOPS (Fair IOPS) ioscheduler is IOPS based ioscheduler, so only targets\nfor drive without I/O seek. It's quite similar like CFQ, but the dispatch\ndecision is made according to IOPS instead of slice.\n\nThe algorithm is simple. Drive has a service tree, and each task lives in\nthe tree. The key into the tree is called vios (virtual I/O). Every request\nhas vios, which is calculated according to its ioprio, request size and so\non. Task's vios is the sum of vios of all requests it dispatches. FIOPS\nalways selects task with minimum vios in the service tree and let the task\ndispatch request. The dispatched request's vios is then added to the task's\nvios and the task is repositioned in the sevice tree.\n\nUnlike CFQ, FIOPS doesn't have separate sync/async queues, because with I/O\nless writeback, usually a task can only dispatch either sync or async requests.\nBias read or write request can still be done with read/write scale.\n\nOne issue is if workload iodepth is lower than drive queue_depth, IOPS\nshare of a task might not be strictly according to its priority, request\nBias read or write request can still be done with read/write scale.\n\nOne issue is if workload iodepth is lower than drive queue_depth, IOPS\nshare of a task might not be strictly according to its priority, request\nsize and so on. In this case, the drive is in idle actually. Solving the\nproblem need make drive idle, so impact performance. I believe CFQ isn't\ncompletely fair between tasks in such case too.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>\n\nSigned-off-by: Paul Reioux <reioux@gmail.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/eebaf8235793fc9f560a24e9cb6214ebcff55d10"},{"sha":"6d3cf31758e9f50450ecf5f1df0d7741d110c72f","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops read/write request scale\n\nread/write speed of Flash based storage usually is different. For example,\nin my SSD maxium thoughput of read is about 3 times faster than that of\nwrite. Add a scale to differenate read and write. Also add a tunable, so\nuser can assign different scale for read and write.\n\nBy default, the scale is 1:1, which means the scale is a noop.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/6d3cf31758e9f50450ecf5f1df0d7741d110c72f"},{"sha":"819909bfe5e5aadeb0ec1e71952719d5733c0817","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops sync/async scale\n\nCFQ gives 2.5 times more share to sync workload. This matches CFQ.\n\nNote this is different with the read/write scale. We have 3 types of\nrequests:\n1. read\n2. sync write\n3. write\nCFQ doesn't differentitate type 1 and 2, but request cost of 1 and 2\nare usually different for flash based storage. So we have both sync/async\nand read/write scale here.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":true,"url":"https://api.github.com/repos/LuffyXDA/BeastKernel_Armani/commits/819909bfe5e5aadeb0ec1e71952719d5733c0817"}]}