{"push_id":716448217,"size":4,"distinct_size":4,"ref":"refs/heads/lp511","head":"5eb648ab8a5dddc6247c5a4ea323567b1720c0a2","before":"bf36d6f23c2c875f24e5536d2bf3a17a4da72d1a","commits":[{"sha":"d026569bc111fa1f6111cf775b3cb485a47583e4","author":{"email":"cb3904095a5bc20edc93ba3dfa3e7d27d981b654@intel.com","name":"Shaohua Li"},"message":"block: Introduce FIOPS I/O scheduler 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>\nSigned-off-by: Paul Reioux <reioux@gmail.com>\nSigned-off-by: Zdrowy Gosciu <ZdrowyGosciu+GITHUB@gmail.com>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>\n\nConflicts:\n\tblock/Kconfig.iosched\n\tblock/Makefile","distinct":true,"url":"https://api.github.com/repos/ZdrowyGosciu/kernel_d802/commits/d026569bc111fa1f6111cf775b3cb485a47583e4"},{"sha":"d740113f7ab7bcbedef8e6cba5471c728ce10c83","author":{"email":"d688953a19dcb476c5fb90e6abba87f77b09be65@gmail.com","name":"Pranav Vashi"},"message":"block: FIOPS I/O scheduler LP update\n\nSigned-off-by: Shaohua Li <shaohua.li@intel.com>\n[neo: Forwarded ported by Faux.]\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ZdrowyGosciu/kernel_d802/commits/d740113f7ab7bcbedef8e6cba5471c728ce10c83"},{"sha":"d661c25c4dc1bc086700220a0a82260fedb7810f","author":{"email":"596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.cz","name":"Jan Kara"},"message":"block: Reserve only one queue tag for sync IO if only 3 tags are available\n\nIn case a device has three tags available we still reserve two of them\nfor sync IO. That leaves only a single tag for async IO such as\nwriteback from flusher thread which results in poor performance.\n\nAllow async IO to consume two tags in case queue has three tag availabe\nto get a decent async write performance.\n\nThis patch improves streaming write performance on a machine with such disk\nfrom ~21 MB/s to ~52 MB/s. Also postmark throughput in presence of\nstreaming writer improves from 8 to 12 transactions per second so sync\nIO doesn't seem to be harmed in presence of heavy async writer.\n\nSigned-off-by: Jan Kara <jack@suse.cz>\nSigned-off-by: Jens Axboe <axboe@kernel.dk>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/ZdrowyGosciu/kernel_d802/commits/d661c25c4dc1bc086700220a0a82260fedb7810f"},{"sha":"5eb648ab8a5dddc6247c5a4ea323567b1720c0a2","author":{"email":"23e2075104ba5d5498e757aac686ff4496794be6@gmail.com","name":"Zdrowy Gosciu"},"message":"Version 0.18","distinct":true,"url":"https://api.github.com/repos/ZdrowyGosciu/kernel_d802/commits/5eb648ab8a5dddc6247c5a4ea323567b1720c0a2"}]}