Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1511538 > unrolled thread
| Started by | Ming Lei <tom.leiming@gmail.com> |
|---|---|
| First post | 2016-10-29 10:20 +0200 |
| Last post | 2016-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.
[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
| From | Ming Lei <tom.leiming@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Christoph Hellwig <hch@infradead.org> |
|---|---|
| Date | 2016-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]
| From | Ming Lei <tom.leiming@gmail.com> |
|---|---|
| Date | 2016-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