{"push_id":849544059,"size":136,"distinct_size":37,"ref":"refs/heads/cm-13.0","head":"ddd9556aec83b50209e82f6dafa5c920b0fd2c34","before":"1a144b9bcba174d618e19b7c8f66a32ca47a57a8","commits":[{"sha":"127b6f8830cb57d97d9ee11907b0afdbe5628181","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Marcelo Reis"},"message":"Revert \"pm8xxx-adc: add the functions to set tuning parameters\"\n\nThis reverts commit 6122de9bb4fa6fb34ef247a353d1572df8bee1ab.","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/127b6f8830cb57d97d9ee11907b0afdbe5628181"},{"sha":"1009deff7fd3a5224b1365c230764ad48751a905","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Marcelo Reis"},"message":"Revert \"media: radio: Fix loading the IRIS transport when not a module\"\n\nThis reverts commit 34c3476faed489d01c3adbe7abaf83434170b5a6.","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/1009deff7fd3a5224b1365c230764ad48751a905"},{"sha":"76f86b528fa121463b1a92b671ea8ee5bf804a6d","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Marcelo Reis"},"message":"drivers: gpu: Sync with google sources","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/76f86b528fa121463b1a92b671ea8ee5bf804a6d"},{"sha":"548715407f38983f59a5043912f2c08cf7f8597a","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Marcelo Reis"},"message":"prima: Update to LA.AF.1.1_rb1.18","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/548715407f38983f59a5043912f2c08cf7f8597a"},{"sha":"dacae6ee885b7b851bfa9ca6d49e7640b917940d","author":{"email":"32a94e9f9b74a224f78fec2232289884dbfbbc97@gmail.com","name":"Alin Jerpelea"},"message":"driver: prima: load patched firmware\n\nChange-Id: Ib5c95a6cd8aab03444b357377a7dde3d2f4f02a1","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/dacae6ee885b7b851bfa9ca6d49e7640b917940d"},{"sha":"42fe5ae0af762ffff757aa1679f46da2dd919819","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Marcelo Reis"},"message":"Merge remote-tracking branch 'korg/linux-3.4.y' into cm-13.0","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/42fe5ae0af762ffff757aa1679f46da2dd919819"},{"sha":"92397e8fdae06b4fe5c82f451264d65d1b6115a5","author":{"email":"e642b69ed2fc111e09ffdc37feb733a52253340d@oracle.com","name":"Sasha Levin"},"message":"net: llc: use correct size for sysctl timeout entries\n\nThe timeout entries are sizeof(int) rather than sizeof(long), which\nmeans that when they were getting read we'd also leak kernel memory\nto userspace along with the timeout values.\n\nChange-Id: I328d1186720a6f70f555eeeb62c83ee69814868d\nSigned-off-by: Sasha Levin <sasha.levin@oracle.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/92397e8fdae06b4fe5c82f451264d65d1b6115a5"},{"sha":"09f27896a29cd62d08d4033f12dc078a7784559b","author":{"email":"f66cc59a245d146467efed1402e6d2f55ef6f900@google.com","name":"Patrick Tjin"},"message":"Fix sizeof-pointer-memaccess warnings\n\nChanged to use strcmp since sizeof buffer is not known.\nChanged sizeof to PAGE_SIZE in snprintf.\n\nSigned-off-by: Patrick Tjin <pattjin@google.com>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/09f27896a29cd62d08d4033f12dc078a7784559b"},{"sha":"9c071ce2bc91335f1e113ea42e721ab8e2d24bd2","author":{"email":"1986c66dfccd1d0aab5373adc801d93635565868@sonymobile.com","name":"Alin Jerpelea"},"message":"12.1.A.1.201: Open source for Xperia SP\n\nSigned-off-by: Alin Jerpelea <alin.jerpelea@sonymobile.com>\n\nConflicts:\n\tarch/arm/kernel/process.c\n\tarch/arm/mach-msm/Kconfig\n\tarch/arm/mach-msm/Makefile\n\tarch/arm/mm/mmu.c\n\tdrivers/Kconfig\n\tdrivers/Makefile\n\tdrivers/char/misc.c\n\tdrivers/hid/hidraw.c\n\tdrivers/input/joystick/xpad.c\n\tdrivers/media/video/msm/server/msm_cam_server.c\n\tdrivers/media/video/msm/vfe/msm_vfe32.c\n\tdrivers/mmc/host/msm_sdcc.c\n\tdrivers/mmc/host/msm_sdcc.h\n\tdrivers/power/pm8921-charger.c\n\tdrivers/scsi/scsi_lib.c\n\tdrivers/staging/android/lowmemorykiller.c\n\tdrivers/video/msm/msm_fb.c\n\tdrivers/video/msm/msm_fb.h\n\tdrivers/video/msm/msm_fb_panel.h\n\tdrivers/video/msm/vidc/1080p/ddl/vcd_ddl_vidc.c\n\tfs/ecryptfs/keystore.c\n\tfs/ext4/ialloc.c\n\tkernel/power/process.c\n\tkernel/ptrace.c\n\tmm/Kconfig\n\tmm/madvise.c\n\tmm/shmem.c\n\tnet/ipv4/sysfs_net_ipv4.c\n\tnet/netfilter/x_tables.c\n\tnet/netfilter/xt_socket.c\n\tsound/soc/codecs/wcd9310.c","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/9c071ce2bc91335f1e113ea42e721ab8e2d24bd2"},{"sha":"603d6e1a3a0e311ab3c43b4b3645074dd38762e4","author":{"email":"1986c66dfccd1d0aab5373adc801d93635565868@sonymobile.com","name":"Alin Jerpelea"},"message":"12.1.A.1.207: Open source for Xperia SP\n\nSigned-off-by: Alin Jerpelea <alin.jerpelea@sonymobile.com>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/603d6e1a3a0e311ab3c43b4b3645074dd38762e4"},{"sha":"8203c9f563002dd83a68e1514dda9fe174b25160","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Mrcl1450"},"message":"board-viskan: Fix gpu frequencies","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/8203c9f563002dd83a68e1514dda9fe174b25160"},{"sha":"c53cb12a81a4f7f34c94f49166f7ea6aa62f1de3","author":{"email":"7eaab045571f1638602c7133a39d52134fe91a26@gmail.com","name":"Brinly Taylor"},"message":"huashan: add uio to board-viskan-storage.c\n\n* Enable UIO & sharedmem driver\n\nChange-Id: I61fc34cc25370221309c9d85c07831fd2844495d","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/c53cb12a81a4f7f34c94f49166f7ea6aa62f1de3"},{"sha":"8c91aa6b5e36080877805bd2a10884597475f1c9","author":{"email":"2c0b3bf4b76b640ea9ce44416283b108e9b35802@outlook.com","name":"Mrcl1450"},"message":"driver: led: as3677: expose simple light sensor value\n\nChange-Id: I06be7a615b16a28b0b95585c3b6266170bf6c933\nSigned-off-by: Mrcl1450 <marcelo-fil@outlook.com>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/8c91aa6b5e36080877805bd2a10884597475f1c9"},{"sha":"7a1713603a1407119580be0a46c8fb96013f46f0","author":{"email":"6e6fda072d932515099508d6d220572c68e9add5@sonymobile.com","name":"Bjorn Andersson"},"message":"charger: Hack to set androidboot.mode=charger\n\nBased on the parameters startup and warmboot we patch the command line\nthat init will read to determin if the device was powerd on by a\ncharger.\n\nSigned-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/7a1713603a1407119580be0a46c8fb96013f46f0"},{"sha":"47dc22e199ecd56f79ad208e59140a926a100e5d","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\ndispatch\ndecision is made according to IOPS instead of slice.\n\nThe algorithm is simple. Drive has a service tree, and each task lives\nin\nthe tree. The key into the tree is called vios (virtual I/O). Every\nrequest\nhas vios, which is calculated according to its ioprio, request size and\nso\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\ntask\ndispatch request. The dispatched request's vios is then added to the\ntask's\nvios and the task is repositioned in the sevice tree.\n\nUnlike CFQ, FIOPS doesn't have separate sync/async queues, because with\nI/O\nless writeback, usually a task can only dispatch either sync or async\nrequests.\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\nblock: fiops read/write request scale\n\nread/write speed of Flash based storage usually is different. For\nexample,\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>\n\nblock: 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\nsync/async\nand read/write scale here.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>\n\nblock: fiops add ioprio support\n\nAdd CFQ-like ioprio support. Priority A will get 20% more share than\npriority\nA+1, which matches CFQ.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>\n\nblock: fiops preserve vios key for deep queue depth workload\n\nIf the task has running request, even it's added into service tree\nnewly,\nwe preserve its vios key, so it will not lost its share. This should\nwork\nfor task driving big queue depth. For single depth task, there is no\napproach\nto preserve its vios key.\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>\n\nblock: 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>\n\nblock: fiops add some trace information\n\nAdd some trace information, which is helpful when I do debugging.\n\nChange-Id: I971fcef95e7fdb6360b0e07cffefc0b51a6fbbc0\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/47dc22e199ecd56f79ad208e59140a926a100e5d"},{"sha":"62e62eef6832dbe4f7f72a5714cfda97c5b4f545","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: bring up to date with Jaegeuk's branch","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/62e62eef6832dbe4f7f72a5714cfda97c5b4f545"},{"sha":"9778881ca2d638495c4a523e95acbfaa8ff05aaa","author":{"email":"8a453bad9912ffe59bc0f0b8abe03df9be19379e@zytor.com","name":"H. Peter Anvin"},"message":"kernel: Replace timeconst.pl with a bc script\n\nbc is the standard tool for multi-precision arithmetic.  We switched\nto Perl because akpm reported a hard-to-reproduce build hang, which\nwas very odd because affected and unaffected machines were all running\nthe same version of GNU bc.\n\nUnfortunately switching to Perl required a really ugly \"canning\"\nmechanism to support Perl < 5.8 installations lacking the Math::BigInt\nmodule.\n\nIt was recently pointed out to me that some very old versions of GNU\nmake had problems with pipes in subshells, which was indeed the\nconstruct used in the Makefile rules in that version of the patch;\nPerl didn't need it so switching to Perl fixed the problem for\nunrelated reasons.  With the problem (hopefully) root-caused, we can\nswitch back to bc and do the arbitrary-precision arithmetic naturally.\n\nSigned-off-by: H. Peter Anvin <hpa@zytor.com>\nCc: Andrew Morton <akpm@linux-foundation.org>\nAcked-by: Sam Ravnborg <sam@ravnborg.org>\nSigned-off-by: Michal Marek <mmarek@suse.cz>\n\nConflicts:\n\tkernel/Makefile\n\nChange-Id: I8450a919c2d27b6c18561621c0a48a762e46a22d","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/9778881ca2d638495c4a523e95acbfaa8ff05aaa"},{"sha":"0606abe642b87c6d8f586222616bfd6e1d30b33a","author":{"email":"ad5ede63337b3f6ba0c8f4353e50bd01ded91d63@gmail.com","name":"Dan Pasanen"},"message":"clock-8960: crank up vcodec_clk max\n\n[   33.497451] Rate 266670000 for vcodec_clk is greater than highest Fmax\n\nChange-Id: I9da52af1e53aa45c38d7037f86ce5a7c6a6c5e84","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/0606abe642b87c6d8f586222616bfd6e1d30b33a"},{"sha":"872e73c498824f038452b45d258567d7dc719205","author":{"email":"c7fa93ff364b50c0a977a853487528f982a1ac48@codeaurora.org","name":"Tatyana Brokhman"},"message":"block: Adding ROW scheduling algorithm\n\nThis patch adds the implementation of a new scheduling algorithm - ROW.\nThe policy of this algorithm is to prioritize READ requests over WRITE\nas much as possible without starving the WRITE requests.\n\nChange-Id: I4ed52ea21d43b0e7c0769b2599779a3d3869c519\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: ROW: Correct minimum values of ROW tunable parameters\n\nThe ROW scheduling algorithm exposes several tunable parameters.\nThis patch updates the minimum allowed values for those parameters.\n\nChange-Id: I5ec19d54b694e2e83ad5376bd99cc91f084967f5\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: ROW: Fix forced dispatch\n\nThis patch fixes forced dispatch in the ROW scheduling algorithm.\nWhen the dispatch function is called with the forced flag on, we\ncan't delay the dispatch of the requests that are in scheduler queues.\nThus, when dispatch is called with forced turned on, we need to cancel\nidling, or not to idle at all.\n\nChange-Id: I3aa0da33ad7b59c0731c696f1392b48525b52ddc\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: Add support for reinsert a dispatched req\n\nAdd support for reinserting a dispatched request back to the\nscheduler's internal data structures.\nThis capability is used by the device driver when it chooses to\ninterrupt the current request transmission and execute another (more\nurgent) pending request. For example: interrupting long write in order\nto handle pending read. The device driver re-inserts the\nremaining write request back to the scheduler, to be rescheduled\nfor transmission later on.\n\nAdd API for verifying whether the current scheduler\nsupports reinserting requests mechanism. If reinsert mechanism isn't\nsupported by the scheduler, this code path will never be activated.\n\nChange-Id: I5c982a66b651ebf544aae60063ac8a340d79e67f\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: Add API for urgent request handling\n\nThis patch add support in block & elevator layers for handling\nurgent requests. The decision if a request is urgent or not is taken\nby the scheduler. Urgent request notification is passed to the underlying\nblock device driver (eMMC for example). Block device driver may decide to\ninterrupt the currently running low priority request to serve the new\nurgent request. By doing so READ latency is greatly reduced in read&write\ncollision scenarios.\n\nNote that if the current scheduler doesn't implement the urgent request\nmechanism, this code path is never activated.\n\nChange-Id: I8aa74b9b45c0d3a2221bd4e82ea76eb4103e7cfa\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nrow: Adding support for reinsert already dispatched req\n\nAdd support for reinserting already dispatched request back to the\nschedulers internal data structures.\nThe request will be reinserted back to the queue (head) it was\ndispatched from as if it was never dispatched.\n\nChange-Id: I70954df300774409c25b5821465fb3aa33d8feb5\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock:row: fix idling mechanism in ROW\n\nThis patch addresses the following issues found in the ROW idling\nmechanism:\n1. Fix the delay passed to queue_delayed_work (pass actual delay\n   and not the time when to start the work)\n2. Change the idle time and the idling-trigger frequency to be\n   HZ dependent (instead of using msec_to_jiffies())\n3. Destroy idle_workqueue() in queue_exit\n\nChange-Id: If86513ad6b4be44fb7a860f29bd2127197d8d5bf\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\ncfq-iosched: Fix null pointer dereference\n\nNULL pointer dereference can happen in cfq_choose_cfqg()\nwhen there are no cfq groups to select other than the\ncurrent serving group. Prevent this by adding a NULL\ncheck before dereferencing.\n\nUnable to handle kernel NULL pointer dereference at virtual address\n[<c02502cc>] (cfq_dispatch_requests+0x368/0x8c0) from\n[<c0243f30>] (blk_peek_request+0x220/0x25c)\n[<c0243f30>] (blk_peek_request+0x220/0x25c) from\n[<c0243f74>] (blk_fetch_request+0x8/0x1c)\n[<c0243f74>] (blk_fetch_request+0x8/0x1c) from\n[<c041cedc>] (mmc_queue_thread+0x58/0x120)\n[<c041cedc>] (mmc_queue_thread+0x58/0x120) from\n[<c00ad310>] (kthread+0x84/0x90)\n[<c00ad310>] (kthread+0x84/0x90) from\n[<c000eeac>] (kernel_thread_exit+0x0/0x8)\n\nCRs-Fixed: 416466\nChange-Id: I1fab93a4334b53e1d7c5dcc8f93cff174bae0d5e\nSigned-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>\n\nrow: Add support for urgent request handling\n\nThis patch adds support for handling urgent requests.\nROW queue can be marked as \"urgent\" so if it was un-served in last\ndispatch cycle and a request was added to it - it will trigger\nissuing an urgent-request-notification to the block device driver.\nThe block device driver may choose at stop the transmission of current\nongoing request to handle the urgent one. Foe example: long WRITE may\nbe stopped to handle an urgent READ. This decreases READ latency.\n\nChange-Id: I84954c13f5e3b1b5caeadc9fe1f9aa21208cb35e\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Add some debug information on ROW queues\n\n1. Add a counter for number of requests on queue.\n2. Add function to print queues status (number requests\n   currently on queue and number of already dispatched requests\n   in current dispatch cycle).\n\nChange-Id: I1e98b9ca33853e6e6a8ddc53240f6cd6981e6024\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Insert dispatch_quantum into struct row_queue\n\nThere is really no point in keeping the dispatch quantum\nof a queue outside of it. By inserting it to the row_queue\nstructure we spare extra level in accessing it.\n\nChange-Id: Ic77571818b643e71f9aafbb2ca93d0a92158b199\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: fix sysfs functions - idle_time conversion\n\nidle_time was updated to be stored in msec instead of jiffies.\nSo there is no need to convert the value when reading from user or\ndisplaying the value to him.\n\nChange-Id: I58e074b204e90a90536d32199ac668112966e9cf\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Aggregate row_queue parameters to one structure\n\nEach ROW queues has several parameters which default values are defined\nin separate arrays. This patch aggregates all default values into one\narray.\nThe values in question are:\n - is idling enabled for the queue\n - queue quantum\n - can the queue notify on urgent request\n\nChange-Id: I3821b0a042542295069b340406a16b1000873ec6\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Dispatch requests according to their io-priority\n\nThis patch implements \"application-hints\" which is a way the issuing\napplication can notify the scheduler on the priority of its request.\nThis is done by setting the io-priority of the request.\nThis patch reuses an already existing mechanism of io-priorities developed\nfor CFQ. Please refer to kernel/Documentation/block/ioprio.txt for\nusage example and explanations.\n\nChange-Id: I228ec8e52161b424242bb7bb133418dc8b73925a\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Idling mechanism re-factoring\n\nAt the moment idling in ROW is implemented by delayed work that uses\njiffies granularity which is not very accurate. This patch replaces\ncurrent idling mechanism implementation with hrtime API, which gives\nnanosecond resolution (instead of jiffies).\n\nChange-Id: I86c7b1776d035e1d81571894b300228c8b8f2d92\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Don't notify URGENT if there are un-completed urgent req\n\nWhen ROW scheduler reports to the block layer that there is an urgent\nrequest pending, the device driver may decide to stop the transmission\nof the current request in order to handle the urgent one. If the current\ntransmitted request is an urgent request - we don't want it to be\nstopped.\nDue to the above ROW scheduler won't notify of an urgent request if\nthere are urgent requests in flight.\n\nChange-Id: I2fa186d911b908ec7611682b378b9cdc48637ac7\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Update initial values of ROW data structures\n\nThis patch sets the initial values of internal ROW\nparameters.\n\nChange-Id: I38132062a7fcbe2e58b9cc757e55caac64d013dc\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n[smuckle@codeaurora.org: ported from msm-3.7]\nSigned-off-by: Steve Muckle <smuckle@codeaurora.org>\n\nblock: add REQ_URGENT to request flags\n\nThis patch adds a new flag to be used in cmd_flags field of struct request\nfor marking request as urgent.\nUrgent request is the one that should be given priority currently handled\n(regular) request by the device driver. The decision of a request urgency\nis taken by the scheduler.\n\nChange-Id: Ic20470987ef23410f1d0324f96f00578f7df8717\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Re-design urgent request notification mechanism\n\nWhen ROW scheduler reports to the block layer that there is an urgent\nrequest pending, the device driver may decide to stop the transmission\nof the current request in order to handle the urgent one. This is done\nin order to reduce the latency of an urgent request. For example:\nlong WRITE may be stopped to handle an urgent READ.\n\nThis patch updates the ROW URGENT notification policy to apply with the\nbelow:\n\n- Don't notify URGENT if there is an un-completed URGENT request in driver\n- After notifying that URGENT request is present, the next request\n  dispatched is the URGENT one.\n- At every given moment only 1 request can be marked as URGENT.\n  Independent of it's location (driver or scheduler)\n\nOther changes to URGENT policy:\n- Only READ queues are allowed to notify of an URGENT request pending.\n\nCR fix:\nIf a pending urgent request (A) gets merged with another request (B)\nA is removed from scheduler queue but is not removed from\nrd->pending_urgent_rq.\n\nCRs-Fixed: 453712\nChange-Id: I321e8cf58e12a05b82edd2a03f52fcce7bc9a900\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: urgent request: remove unnecessary urgent marking\n\nAn urgent request is marked by the scheduler in rq->cmd_flags with the\nREQ_URGENT flag. There is no need to add an additional marking by\nthe block layer.\n\nChange-Id: I05d5e9539d2f6c1bfa80240b0671db197a5d3b3f\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Prevent starvation of regular priority by high priority\n\nAt the moment all REGULAR and LOW priority requests are starved as long as\nthere are HIGH priority requests to dispatch.\nThis patch prevents the above starvation by setting a starvation limit the\nREGULAR\\LOW priority requests can tolerate.\n\nChange-Id: Ibe24207982c2c55d75c0b0230f67e013d1106017\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Update sysfs functions\n\nAll ROW (time related) configurable parameters are stored in ms so there\nis no need to convert from/to ms when reading/updating them via sysfs.\n\nChange-Id: Ib6a1de54140b5d25696743da944c076dd6fc02ae\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: urgent request: Update dispatch_urgent in case of requeue/reinsert\n\nThe block layer implements a mechanism for verifying that the device\ndriver won't be notified of an URGENT request if there is already an\nURGENT request in flight. This is due to the fact that interrupting an\nURGENT request isn't efficient.\nThis patch fixes the above described mechanism in case the URGENT request\nwas returned back to the block layer from some reason: by requeue or\nreinsert.\n\nCRs-fixed: 473376, 473036, 471736\nChange-Id: Ie8b8208230a302d4526068531616984825f1050d\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Fix starvation tolerance values\n\nThe current starvation tolerance values increase the boot time\nsince high priority SW requests are delayed by regular priority requests.\nIn order to overcome this, increase the starvation tolerance values.\n\nChange-Id: I9947fca9927cbd39a1d41d4bd87069df679d3103\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\nSigned-off-by: Maya Erez <merez@codeaurora.org>\n\nblock: urgent: Fix dispatching of URGENT mechanism\n\nThere are cases when blk_peek_request is called not from blk_fetch_request\nthus the URGENT request may be started but the flag q->dispatched_urgent is\nnot updated.\n\nChange-Id: I4fb588823f1b2949160cbd3907f4729767932e12\nCRs-fixed: 471736\nCRs-fixed: 473036\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: Remove \"requeuing urgent req\" error messages\n\nIt is possible for URGENT request to be requeued/reinserted if it was\nfetched during the creation of a packed list. This end case is rare and is\nnot handled at the moment.\nThis patch changes the messages notifying of the above to debug level\n(instead of error) in order to clear the dmesg log.\n\nChange-Id: Ie8bc067e61559a6f702077b95c5dbcc426404232\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row-iosched idling triggered by readahead pages\n\nIn the current implementation idling is triggered only by request\ninsertion frequency. This heuristic is not very accurate and may hit\nrandom requests that shouldn't trigger idling. This patch uses the\nPG_readahead flag in struct page's flags, which indicates that the page\nis part of a readahead window, to start idling upon dispatch of a request\nassociated with a readahead page.\n\nThe above readehead flag is used together with the existing\ninsertion-frequency trigger. The frequency timer will catch read requests\nwhich are not part of a readahead window, but are still part of a\nsequential stream (and therefore dispatched in small time intervals).\n\nChange-Id: Icb7145199c007408de3f267645ccb842e051fd00\nSigned-off-by: Lee Susman <lsusman@codeaurora.org>\n\nblock: row: change hrtimer_cancel to hrtimer_try_to_cancel\n\nCalling hrtimer_cancel with interrupts disabled can result in a livelock.\nWhen flushing plug list in the block layer interrupts are disabled and an\nhrtimer is used when adding requests from that plug list to the scheduler.\nIn this code flow, if the hrtimer (which is used for idling) is set, it's\nbeing canceled by calling hrtimer_cancel. hrtimer_cancel will perform\nthe following in an endless loop:\n1. try cancel the timer\n2. if fails - rest_cpu\nthe cancellation can fail if the timer function already started. Since\ninterrupts are disabled it can never complete.\nThis patch reduced the number of times the hrtimer lock is taken while\ninterrupts are disabled by calling hrtimer_try_co_cancel. the later will\ntry to cancel the timer just once and return with an error code if fails.\n\nCRs-fixed: 499887\nChange-Id: I25f79c357426d72ad67c261ce7cb503ae97dc7b9\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: Add URGENT request notification support to CFQ scheduler\n\nWhen the scheduler reports to the block layer that there is an urgent\nrequest pending, the device driver may decide to stop the transmission\nof the current request in order to handle the urgent one. This is done\nin order to reduce the latency of an urgent request. For example:\nlong WRITE may be stopped to handle an urgent READ.\n\nChange-Id: I3072b8a1423870fed9c04c28d93caaf9557a7b89\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>\n\nblock: row: Remove warning massage from add_request\n\nRegular priority queues is marked as \"starved\" if it skipped a dispatch\ndue to being empty. When a new request is added to a \"starved\" queue\nit will be marked as urgent.\nThe removed WARN_ON was warning about an impossible case when a regular\npriority (read) queue was marked as starved but wasn't empty. This is\na possible case due to the bellow:\nIf the device driver fetched a read request that is pending for\ntransmission and an URGENT request arrives, the fetched read will be\nreinserted back to the scheduler. Its possible that the queue it will be\nreinserted to was marked as \"starved\" in the meanwhile due to being empty.\n\nCRs-fixed: 517800\nChange-Id: Iaae642ea0ed9c817c41745b0e8ae2217cc684f0c\nSigned-off-by: Tatyana Brokhman <tlinder@codeaurora.org>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/872e73c498824f038452b45d258567d7dc719205"},{"sha":"5c5119bd239ae386f120a5f81ec2ef2f034747f5","author":{"email":"c7fa93ff364b50c0a977a853487528f982a1ac48@codeaurora.org","name":"Tanya Brokhman"},"message":"block: row: Fix crash when adding a new field in bio struct\n\nWhen adding new field to struct bio there is a crash in the removed\ncode lines. This issue was introduced by commit\n80a8f0f87bee18283e9ca0a8966ec97ad9f084e5 \"block: row-iosched idling\ntriggered by readahead pages\"\n\n(Partly) reverting this patch till root cause is fixed (on FS level).\n\nChange-Id: Ie82bc806ea52a6370b57aa15455c85b2db10d0da\nSigned-off-by: Tanya Brokhman <tlinder@codeaurora.org>","distinct":false,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/5c5119bd239ae386f120a5f81ec2ef2f034747f5"}]}