From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Ming Lei <tom.leiming@gmail.com>, Jens Axboe <axboe@fb.com>,
linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
Boaz Harrosh <boaz@plexistor.com>,
Alasdair Kergon <agk@redhat.com>,
"maintainer:DEVICE-MAPPER (LVM)" <dm-devel@redhat.com>,
Shaohua Li <shli@kernel.org>,
"open list:SOFTWARE RAID (Multiple Disks) SUPPORT"
<linux-raid@vger.kernel.org>
Subject: Re: [PATCH 20/27] dm: dm-bufio.c: use bio_set_vec_table()
Date: Tue, 5 Apr 2016 14:11:23 -0400 [thread overview]
Message-ID: <20160405181123.GA18323@redhat.com> (raw)
In-Reply-To: <20160405130402.GD32576@infradead.org>
On Tue, Apr 05 2016 at 9:04am -0400,
Christoph Hellwig <hch@infradead.org> wrote:
> On Tue, Apr 05, 2016 at 08:07:35PM +0800, Ming Lei wrote:
> > Signed-off-by: Ming Lei <tom.leiming@gmail.com>
> > ---
> > drivers/md/dm-bufio.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
> > index cd77216..0e48ad7 100644
> > --- a/drivers/md/dm-bufio.c
> > +++ b/drivers/md/dm-bufio.c
> > @@ -624,8 +624,7 @@ static void use_inline_bio(struct dm_buffer *b, int rw, sector_t block,
> > int len;
> >
> > bio_init(&b->bio);
> > - b->bio.bi_io_vec = b->bio_vec;
> > - b->bio.bi_max_vecs = DM_BUFIO_INLINE_VECS;
> > + bio_set_vec_table(&b->bio, b->bio_vec, DM_BUFIO_INLINE_VECS);
> > b->bio.bi_iter.bi_sector = block << b->c->sectors_per_block_bits;
> > b->bio.bi_bdev = b->c->bdev;
> > b->bio.bi_end_io = inline_endio;
>
> Should be switched to use bio_alloc instead.
Why does the use of bio_init() vs bio_alloc() bother you?
'struct dm_buffer' has a 'struct bio'. That bio is allocated as part of
the dm_buffer in drivers/md/dmbufio.c:alloc_buffer() -- which is called
by various other bufio interfaces (e.g. __alloc_buffer_wait). Bufio is
in control of ensuring forward progress by carefully managing the memory
associated with these buffers. I don't see the benefit of bio_alloc()
here. What am I missing?
next prev parent reply other threads:[~2016-04-05 18:11 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-05 12:07 [PATCH 15/27] bcache: super: use bio_set_vec_table() Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 12:07 ` [PATCH 16/27] bcache: super: use bio_get_base_vec Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 12:07 ` [PATCH 17/27] dm: crypt: use bio_add_page() Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 12:49 ` Christoph Hellwig
2016-04-05 12:07 ` [PATCH 18/27] dm: dm-io.c: use bio_get_base_vec() Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 12:07 ` [PATCH 19/27] dm: dm.c: replace 'bio->bi_vcnt == 1' with !bio_multiple_segments Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 12:07 ` [PATCH 20/27] dm: dm-bufio.c: use bio_set_vec_table() Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 13:04 ` Christoph Hellwig
2016-04-05 18:11 ` Mike Snitzer [this message]
2016-04-05 12:07 ` [PATCH 21/27] fs: logfs: " Ming Lei
2016-04-05 12:50 ` Christoph Hellwig
2016-04-05 12:07 ` [PATCH 22/27] fs: logfs: convert to bio_add_page() in sync_request() Ming Lei
2016-04-05 12:50 ` Christoph Hellwig
2016-04-05 12:07 ` [PATCH 23/27] fs: logfs: use bio_add_page() in __bdev_writeseg() Ming Lei
2016-04-05 12:07 ` [PATCH 24/27] fs: logfs: use bio_add_page() in do_erase() Ming Lei
2016-04-05 12:07 ` [PATCH 25/27] fs: logfs: remove unnecesary check Ming Lei
2016-04-05 12:07 ` [PATCH 26/27] kernel/power/swap.c: use bio_get_base_vec() Ming Lei
2016-04-05 12:07 ` Ming Lei
2016-04-05 12:56 ` Christoph Hellwig
2016-04-05 13:19 ` Ming Lei
2016-04-05 12:07 ` [PATCH 27/27] mm: page_io.c: " Ming Lei
2016-04-05 12:07 ` Ming Lei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160405181123.GA18323@redhat.com \
--to=snitzer@redhat.com \
--cc=agk@redhat.com \
--cc=axboe@fb.com \
--cc=boaz@plexistor.com \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=shli@kernel.org \
--cc=tom.leiming@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.