{"push_id":673629839,"size":287,"distinct_size":287,"ref":"refs/heads/cm-12.1-caf","head":"ae61eb23ea097f77eb05c2461e519a5b33d29f03","before":"2ab28ae29cb35d498e0daa285506b56de7fcdfcd","commits":[{"sha":"578b0bf67cff9d9422609854e1b7700991f7144b","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"franciscofranco"},"message":"Remove '+' symbol from kernel version string\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/578b0bf67cff9d9422609854e1b7700991f7144b"},{"sha":"4e6124c4d727e2c5dcfbd9dfe8f4dee5d7167973","author":{"email":"e38abda888310c97391de15f37d0be5d71ed0ac2@gmail.com","name":"WhatHub"},"message":"use of swp{b} is deprecated for ARMv6 and ARMv7","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/4e6124c4d727e2c5dcfbd9dfe8f4dee5d7167973"},{"sha":"423c438b5b3548a9c18c7ae90bd208172c9a316b","author":{"email":"672c7f5d7c31e5aba75fbe0bc303fff4514dcd5f@gmail.com","name":"morfic"},"message":"Tune deadline, readahead, ondemand, interactive.\n\nConflicts:\n\tinclude/linux/mm.h","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/423c438b5b3548a9c18c7ae90bd208172c9a316b"},{"sha":"4273a524d51865c04e2f48f21baef3bc41e979b9","author":{"email":"521275e7ff54d4dd00aee4b6e1f58c72fa27f82f@gmail.com","name":"David LaMontagne"},"message":"Get rid or wrapper","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/4273a524d51865c04e2f48f21baef3bc41e979b9"},{"sha":"18015f224d6c8518c7b16148d5763dcb9c65f5b5","author":{"email":"521275e7ff54d4dd00aee4b6e1f58c72fa27f82f@gmail.com","name":"David LaMontagne"},"message":"Update interactive gov\n\nConflicts:\n\tarch/arm/configs/d801_defconfig","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/18015f224d6c8518c7b16148d5763dcb9c65f5b5"},{"sha":"dc1bf5d354ed841c027ce1aef0831cb3454c5ac7","author":{"email":"b2a0efa288d2011c6587a4a8516b5d7bd5f3174b@intel.com","name":"xiaobing tu"},"message":"deadline: Allow 0ms deadline latency, increase the read speed\n\nChange a timer compare from after to after-equals, thus allowing\n0 timeout and making deadline schedule FIFO.\n\nSigned-off-by: xiaobing tu <xiaobing.tu@intel.com>\nSigned-off-by: Jens Axboe <axboe@kernel.dk>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/dc1bf5d354ed841c027ce1aef0831cb3454c5ac7"},{"sha":"613eee741fa9a962f9daec090a7f323aadd18f69","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\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>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/613eee741fa9a962f9daec090a7f323aadd18f69"},{"sha":"a10ea370a53592c3c78ea866e090c2e67fa23c81","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/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/a10ea370a53592c3c78ea866e090c2e67fa23c81"},{"sha":"b0ed9a8797f1ffa8f7687141540a3ad862b76aff","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/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/b0ed9a8797f1ffa8f7687141540a3ad862b76aff"},{"sha":"e55405e64968a154a51f81460a370689a8234689","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops add ioprio support\n\nAdd CFQ-like ioprio support. Priority A will get 20% more share than priority\nA+1, which matches CFQ.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/e55405e64968a154a51f81460a370689a8234689"},{"sha":"03a157c196e6b13438ba58d1041aa4cdc7b7b28b","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops preserve vios key for deep queue depth workload\n\nIf the task has running request, even it's added into service tree newly,\nwe preserve its vios key, so it will not lost its share. This should work\nfor task driving big queue depth. For single depth task, there is no approach\nto preserve its vios key.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/03a157c196e6b13438ba58d1041aa4cdc7b7b28b"},{"sha":"a0d5981cabc8f15a48274fb6b531e2377768a4ff","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops bias sync workload\n\nIf there are async requests running, delay async workload. Otherwise\nasync workload (usually very deep iodepth) will use all queue iodepth\nand later sync requests will get long delayed. The idea is from CFQ.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/a0d5981cabc8f15a48274fb6b531e2377768a4ff"},{"sha":"f84e38821d610cee5abe4c1d0321fafce3f03d18","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: fiops add some trace information\n\nAdd some trace information, which is helpful when I do debugging.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/f84e38821d610cee5abe4c1d0321fafce3f03d18"},{"sha":"d1a6e33ac47c8e434be79798ca123f5311e82494","author":{"email":"d2d359e4ae582adac36781910ecc7abbb6c45854@alumni.bilkent.edu.tr","name":"Gokhan Moral"},"message":"Add SIO I/O scheduler","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/d1a6e33ac47c8e434be79798ca123f5311e82494"},{"sha":"8fef87fb22f38a5992c9c6ba601176394389a58c","author":{"email":"47e13252e902a74337b829455242abf93d10004a@hotmail.com","name":"xcstacy"},"message":"Add /dev/frandom","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/8fef87fb22f38a5992c9c6ba601176394389a58c"},{"sha":"40c15a659b906cf05f830a8967fe0420375a503d","author":{"email":"5e41ad0f287ea43b5c475f560b85243c7f725058@att.net","name":"Tyler Dunn"},"message":"mm: Tweak readahead values","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/40c15a659b906cf05f830a8967fe0420375a503d"},{"sha":"6eeb39fbfce19fb2980e102730cbebbacafb4656","author":{"email":"4fc5dc16b2f6af80c339ad07af1610737253f28c@googlemail.com","name":"Ezekeel"},"message":"Added optimized ARM RWSEM algorithm.\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/6eeb39fbfce19fb2980e102730cbebbacafb4656"},{"sha":"b806cf7ea7a27f45f710d743dfb8e7ef9a935944","author":{"email":"5dcef21195e64c9c08aa779bb62b25e9133eaa33@linux.intel.com","name":"Yuanhan Liu"},"message":"rwsem-spinlock: Implement writer lock-stealing for better scalability\n\nWe (Linux Kernel Performance project) found a regression\nintroduced by commit:\n\nmm/rmap: Convert the struct anon_vma::mutex to an rwsem\n\nwhich converted all anon_vma::mutex locks rwsem write locks.\n\nThe semantics are the same, but the behavioral difference is\nquite huge in some cases. After investigating it we found the\nroot cause: mutexes support lock stealing while rwsems don't.\n\nHere is the link for the detailed regression report:\n\n  https://lkml.org/lkml/2013/1/29/84\n\nIngo suggested adding write lock stealing to rwsems:\n\n    \"I think we should allow lock-steal between rwsem writers - that\n     will not hurt fairness as most rwsem fairness concerns relate to\n     reader vs. writer fairness\"\n\nAnd here is the rwsem-spinlock version.\n\nWith this patch, we got a double performance increase in one\ntest box with following aim7 workfile:\n\n    FILESIZE: 1M\n    POOLSIZE: 10M\n    10 fork_test\n\n /usr/bin/time output w/o patch                       /usr/bin/time_output with patch\n -- Percent of CPU this job got: 369%                 Percent of CPU this job got: 537%\n Voluntary context switches: 640595016                Voluntary context switches: 157915561\n\nWe got a 45% increase in CPU usage and saved about 3/4 voluntary context switches.\n\nReported-by: LKP project <lkp@linux.intel.com>\nSuggested-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>\nCc: Alex Shi <alex.shi@intel.com>\nCc: David Howells <dhowells@redhat.com>\nCc: Michel Lespinasse <walken@google.com>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Peter Zijlstra <a.p.zijlstra@chello.nl>\nCc: Anton Blanchard <anton@samba.org>\nCc: Arjan van de Ven <arjan@linux.intel.com>\nCc: paul.gortmaker@windriver.com\nLink: http://lkml.kernel.org/r/1359716356-23865-1-git-send-email-yuanhan.liu@linux.intel.com\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/b806cf7ea7a27f45f710d743dfb8e7ef9a935944"},{"sha":"b9c31166ab08a040acb997903b94a521b7b1af8a","author":{"email":"1abc5746028550adcf7742cb5d47df86766285d8@intel.com","name":"Alex Shi"},"message":"rwsem: Implement writer lock-stealing for better scalability\n\nCommit 5a505085f043 (\"mm/rmap: Convert the struct anon_vma::mutex\nto an rwsem\") changed struct anon_vma::mutex to an rwsem, which\ncaused aim7 fork_test performance to drop by 50%.\n\nYuanhan Liu did the following excellent analysis:\n\n    https://lkml.org/lkml/2013/1/29/84\n\nand found that the regression is caused by strict, serialized,\nFIFO sequential write-ownership of rwsems. Ingo suggested\nimplementing opportunistic lock-stealing for the front writer\ntask in the waitqueue.\n\nYuanhan Liu implemented lock-stealing for spinlock-rwsems,\nwhich indeed recovered much of the regression - confirming\nthe analysis that the main factor in the regression was the\nFIFO writer-fairness of rwsems.\n\nIn this patch we allow lock-stealing to happen when the first\nwaiter is also writer. With that change in place the\naim7 fork_test performance is fully recovered on my\nIntel NHM EP, NHM EX, SNB EP 2S and 4S test-machines.\n\nReported-by: lkp@linux.intel.com\nReported-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>\nSigned-off-by: Alex Shi <alex.shi@intel.com>\nCc: David Howells <dhowells@redhat.com>\nCc: Michel Lespinasse <walken@google.com>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Peter Zijlstra <a.p.zijlstra@chello.nl>\nCc: Anton Blanchard <anton@samba.org>\nCc: Arjan van de Ven <arjan@linux.intel.com>\nCc: paul.gortmaker@windriver.com\nLink: https://lkml.org/lkml/2013/1/29/84\nLink: http://lkml.kernel.org/r/1360069915-31619-1-git-send-email-alex.shi@intel.com\n[ Small stylistic fixes, updated changelog. ]\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\n\nSigned-off-by: Francisco Franco <franciscofranco.1990@gmail.com>\nSigned-off-by: Chet Kener <Cl3Kener@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/b9c31166ab08a040acb997903b94a521b7b1af8a"},{"sha":"eebd7402084e10fe5bea859bbc1c58be187ee0cf","author":{"email":"d688953a19dcb476c5fb90e6abba87f77b09be65@gmail.com","name":"Pranav Vashi"},"message":"rwsem: Merge 'rwsem-optimizations'\n\nMerge rwsem optimizations from Michel Lespinasse:\n \"These patches extend Alex Shi's work (which added write lock stealing\n  on the rwsem slow path) in order to provide rwsem write lock stealing\n  on the fast path (that is, without taking the rwsem's wait_lock).\n\n  I have unfortunately been unable to push this through -next before due\n  to Ingo Molnar / David Howells / Peter Zijlstra being busy with other\n  things.  However, this has gotten some attention from Rik van Riel and\n  Davidlohr Bueso who both commented that they felt this was ready for\n  v3.10, and Ingo Molnar has said that he was OK with me pushing\n  directly to you.  So, here goes :)\n\n  Davidlohr got the following test results from pgbench running on a\n  quad-core laptop:\n\n    | db_size | clients  |  tps-vanilla   |   tps-rwsem  |\n    +---------+----------+----------------+--------------+\n    | 160 MB   |       1 |           5803 |         6906 | + 19.0%\n    | 160 MB   |       2 |          13092 |        15931 |\n    | 160 MB   |       4 |          29412 |        33021 |\n    | 160 MB   |       8 |          32448 |        34626 |\n    | 160 MB   |      16 |          32758 |        33098 |\n    | 160 MB   |      20 |          26940 |        31343 | + 16.3%\n    | 160 MB   |      30 |          25147 |        28961 |\n    | 160 MB   |      40 |          25484 |        26902 |\n    | 160 MB   |      50 |          24528 |        25760 |\n    ------------------------------------------------------\n    | 1.6 GB   |       1 |           5733 |         7729 | + 34.8%\n    | 1.6 GB   |       2 |           9411 |        19009 | + 101.9%\n    | 1.6 GB   |       4 |          31818 |        33185 |\n    | 1.6 GB   |       8 |          33700 |        34550 |\n    | 1.6 GB   |      16 |          32751 |        33079 |\n    | 1.6 GB   |      20 |          30919 |        31494 |\n    | 1.6 GB   |      30 |          28540 |        28535 |\n    | 1.6 GB   |      40 |          26380 |        27054 |\n    | 1.6 GB   |      50 |          25241 |        25591 |\n    ------------------------------------------------------\n    | 7.6 GB   |       1 |           5779 |         6224 |\n    | 7.6 GB   |       2 |          10897 |        13611 | + 24.9%\n    | 7.6 GB   |       4 |          32683 |        33108 |\n    | 7.6 GB   |       8 |          33968 |        34712 |\n    | 7.6 GB   |      16 |          32287 |        32895 |\n    | 7.6 GB   |      20 |          27770 |        31689 | + 14.1%\n    | 7.6 GB   |      30 |          26739 |        29003 |\n    | 7.6 GB   |      40 |          24901 |        26683 |\n    | 7.6 GB   |      50 |          17115 |        25925 | + 51.5%\n    ------------------------------------------------------\n\n  (Davidlohr also has one additional patch which further improves\n  throughput, though I will ask him to send it directly to you as I have\n  suggested some minor changes).\"\n\n* emailed patches from Michel Lespinasse <walken@google.com>:\n  rwsem: no need for explicit signed longs\n  x86 rwsem: avoid taking slow path when stealing write lock\n  rwsem: do not block readers at head of queue if other readers are active\n  rwsem: implement support for write lock stealing on the fastpath\n  rwsem: simplify __rwsem_do_wake\n  rwsem: skip initial trylock in rwsem_down_write_failed\n  rwsem: avoid taking wait_lock in rwsem_down_write_failed\n  rwsem: use cmpxchg for trying to steal write lock\n  rwsem: more agressive lock stealing in rwsem_down_write_failed\n  rwsem: simplify rwsem_down_write_failed\n  rwsem: simplify rwsem_down_read_failed\n  rwsem: move rwsem_down_failed_common code into rwsem_down_{read,write}_failed\n  rwsem: shorter spinlocked section in rwsem_down_failed_common()\n  rwsem: make the waiter type an enumeration rather than a bitmask\n\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Euphoria-OS-Devices/android_kernel_lge_msm8974/commits/eebd7402084e10fe5bea859bbc1c58be187ee0cf"}]}