Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1511538 > unrolled thread

[PATCH 15/60] block: loop: comment on direct access to bvec table

Started byMing Lei <tom.leiming@gmail.com>
First post2016-10-29 10:20 +0200
Last post2016-11-01 00:10 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 15/60] block: loop: comment on direct access to bvec table Ming Lei <tom.leiming@gmail.com> - 2016-10-29 10:20 +0200
    Re: [PATCH 15/60] block: loop: comment on direct access to bvec table Christoph Hellwig <hch@infradead.org> - 2016-10-31 16:40 +0100
      Re: [PATCH 15/60] block: loop: comment on direct access to bvec table Ming Lei <tom.leiming@gmail.com> - 2016-11-01 00:10 +0100

#1511538 — [PATCH 15/60] block: loop: comment on direct access to bvec table

FromMing Lei <tom.leiming@gmail.com>
Date2016-10-29 10:20 +0200
Subject[PATCH 15/60] block: loop: comment on direct access to bvec table
Message-ID<sxx1U-3GR-13@gated-at.bofh.it>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
---
 drivers/block/loop.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index fa1b7a90ba11..55ce4226590d 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -485,6 +485,11 @@ static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd,
 	/* nomerge for loop request queue */
 	WARN_ON(cmd->rq->bio != cmd->rq->biotail);
 
+	/*
+	 * For multipage bvec support, it is safe to pass the bvec
+	 * table to iov iterator, because iov iter still uses bvec
+	 * iter helpers to travese bvec.
+	 */
 	bvec = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter);
 	iov_iter_bvec(&iter, ITER_BVEC | rw, bvec,
 		      bio_segments(bio), blk_rq_bytes(cmd->rq));
-- 
2.7.4

[toc] | [next] | [standalone]


#1512627

FromChristoph Hellwig <hch@infradead.org>
Date2016-10-31 16:40 +0100
Message-ID<symQN-4eD-3@gated-at.bofh.it>
In reply to#1511538
Btw, the lib/iov_iter.c code that iterates over bvec currently
expects single-page segments.  Is the loop code fine with that?
Even if it is I think we'd be much better off if it becomes multipage
segment aware.

[toc] | [prev] | [next] | [standalone]


#1512984

FromMing Lei <tom.leiming@gmail.com>
Date2016-11-01 00:10 +0100
Message-ID<sytSi-uI-11@gated-at.bofh.it>
In reply to#1512627
On Mon, Oct 31, 2016 at 11:31 PM, Christoph Hellwig <hch@infradead.org> wrote:
> Btw, the lib/iov_iter.c code that iterates over bvec currently
> expects single-page segments.  Is the loop code fine with that?

lib/iov_iter.c has switched to bvec iterator already in the mp-bvec
preparing patchset, so every thing will be fine after multipage bvec
is enabled.

Another multipage bvec benefit for lib/iov_iter.c(dio) is that we
can return whole pages in one segment, instead of one page
each time, such as iov_iter_get_pages(), but that can be
a follow-up optimization.

> Even if it is I think we'd be much better off if it becomes multipage
> segment aware.

This patch is for auditing possible effect with multipage bvec, so
looks we should expose as much as possible direct access to
bvec table.

Thanks,
Ming Lei

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web