On Thu, Mar 3, 2016 at 8:11 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Thu, Mar 03, 2016 at 07:04:20PM +0800, Ming Lei wrote: >> The helpers change are basically ready, and one new parameter is added >> to bio_for_each_segment_all(), so its all callers need this kind of change, >> >> Also bio_clone() & bvec updating isn't started, but this kind of work >> should not be very difficult to complete. >> >> So the work is in progressing, but I can setup a tree and make it public >> if anyone is intereseted in. > > Having a git tree available would be very useful, but probably only once > the scheme starts working.. Just create one branch for multipage bvecs: http://kernel.ubuntu.com/git/ming/linux.git/log/?h=v4.5-rc-multipage-bvecs-early At least two kinds of stuff aren't completed yet: 1) converting bio_for_each_segment() to *_rd() and *_wt() - this change should be a mechanical thing 2) cleanup on direct access to .bi_io_vec and .bi_vcnt from btrfs, dm, bcache, ... - this kind of work may take some time to do - most of them are in btrfs 3) others? With these patches in above tree, I can run I/O tests over null_blk under both direct-io and buffered I/O with multipage bvecs enabled, looks it starts working. When bs in my fio test(write) is set 10M, average bio size can be more than 5MB with multipage bvecs, but only 1MB without multipage bvecs. Any comments are welcome, :-) thanks, Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html