lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <1408031441-31156-1-git-send-email-ming.lei@canonical.com> Date: Thu, 14 Aug 2014 23:50:31 +0800 From: Ming Lei <ming.lei@...onical.com> To: Jens Axboe <axboe@...nel.dk>, linux-kernel@...r.kernel.org, Andrew Morton <akpm@...ux-foundation.org>, Dave Kleikamp <dave.kleikamp@...cle.com> Cc: Zach Brown <zab@...bo.net>, Benjamin LaHaise <bcrl@...ck.org>, Christoph Hellwig <hch@...radead.org>, Kent Overstreet <kmo@...erainc.com>, linux-aio@...ck.org, linux-fsdevel@...r.kernel.org, Dave Chinner <david@...morbit.com> Subject: [PATCH v1 0/9] block & aio: kernel aio and loop mq conversion Hi, The 1st two patches introduce kernel AIO support, most of is borrowed from Dave's work last year, and thanks to ITER_BVEC, it is much simper to implement kernel AIO now. AIO model is quite suitable for implementing kernel stuff, and can help improve both throughput and CPU utilization. Lots of kernel components should benefit from it, such as: - loop driver, - all kinds of kernel I/O target driver(SCSI, USB storage or UAS, ...) - kernel socket users might benefit from it too if socket AIO is mature The following 6 patches convert current loop driver into blk-mq: - loop's scalability gets improved much - loop driver gets quite simplified, and the conversion can be throught as cleanup too The 9th patch uses kernel AIO with O_DIRECT to improve loop's performance in single job situation, and avoid double cache issue for loop driver too. With the change, loop block's performance can be doubled in my fio test(randread, single job, libaio). If more fio jobs are used, the throughput can be improved much more because of blk-mq. Given loop is used quite widely, especially in VM environment, also the change is quite small, hope it can be merged finally. V1: - improve failure path in aio_kernel_submit() block/blk-mq.c | 11 +- block/blk-mq.h | 1 - drivers/block/loop.c | 474 +++++++++++++++++++++++++-------------------- drivers/block/loop.h | 15 +- fs/aio.c | 121 ++++++++++++ fs/direct-io.c | 9 +- include/linux/aio.h | 15 +- include/linux/blk-mq.h | 13 ++ include/uapi/linux/loop.h | 1 + 9 files changed, 439 insertions(+), 221 deletions(-) Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists