From: Steven Whitehouse <swhiteho@redhat.com>
To: Ming Lin <mlin@kernel.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
Kent Overstreet <kent.overstreet@gmail.com>,
Dongsu Park <dpark@posteo.net>, Mike Snitzer <snitzer@redhat.com>,
Ming Lin <ming.l@ssi.samsung.com>
Subject: Re: [PATCH v5 10/11] block: remove bio_get_nr_vecs()
Date: Tue, 07 Jul 2015 10:04:01 +0100 [thread overview]
Message-ID: <559B9601.9040507@redhat.com> (raw)
In-Reply-To: <CAF1ivSZaC==d02hsOQUJLZ29ZJQfVd16dsLz7+TnOYAohWQaXA@mail.gmail.com>
Hi,
On 06/07/15 18:21, Ming Lin wrote:
> On Mon, Jul 6, 2015 at 3:58 AM, Steven Whitehouse <swhiteho@redhat.com> wrote:
>> Hi,
>>
>>
>> On 06/07/15 08:44, Ming Lin wrote:
>>> From: Kent Overstreet <kent.overstreet@gmail.com>
>>>
>>> We can always fill up the bio now, no need to estimate the possible
>>> size based on queue parameters.
>> [snip]
>>> diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
>>> index 2c1ae86..64d3116 100644
>>> --- a/fs/gfs2/lops.c
>>> +++ b/fs/gfs2/lops.c
>>> @@ -261,18 +261,11 @@ void gfs2_log_flush_bio(struct gfs2_sbd *sdp, int rw)
>>> static struct bio *gfs2_log_alloc_bio(struct gfs2_sbd *sdp, u64 blkno)
>>> {
>>> struct super_block *sb = sdp->sd_vfs;
>>> - unsigned nrvecs = bio_get_nr_vecs(sb->s_bdev);
>>> struct bio *bio;
>>> BUG_ON(sdp->sd_log_bio);
>>> - while (1) {
>>> - bio = bio_alloc(GFP_NOIO, nrvecs);
>>> - if (likely(bio))
>>> - break;
>>> - nrvecs = max(nrvecs/2, 1U);
>>> - }
>>> -
>>> + bio = bio_alloc(GFP_NOIO, BIO_MAX_PAGES);
>>> bio->bi_iter.bi_sector = blkno * (sb->s_blocksize >> 9);
>>> bio->bi_bdev = sb->s_bdev;
>>> bio->bi_end_io = gfs2_end_log_write;
>>
>> When I wrote this loop I understood that bio_alloc(GFP_NOIO, x) was only guaranteed to be successful in the case x = 1, and that for x > 1, it might return NULL. Does this now mean that for x = BIO_MAX_PAGES it will be guaranteed to never return NULL in this case?
> Yes, it's guaranteed.
>
> https://lkml.org/lkml/2013/11/26/47
>
> commit df2cb6daa4cbc
Ok. Feel free to add:
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Steve.
next prev parent reply other threads:[~2015-07-07 9:04 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 7:44 [PATCH v5 01/11] block: make generic_make_request handle arbitrarily sized bios Ming Lin
2015-07-06 7:44 ` [PATCH v5 02/11] block: simplify bio_add_page() Ming Lin
2015-07-06 7:44 ` [PATCH v5 03/11] bcache: remove driver private bio splitting code Ming Lin
2015-07-06 7:44 ` [PATCH v5 04/11] btrfs: remove bio splitting and merge_bvec_fn() calls Ming Lin
2015-07-06 7:44 ` [PATCH v5 05/11] block: remove split code in blkdev_issue_discard Ming Lin
2015-07-06 7:44 ` [PATCH v5 06/11] md/raid5: split bio for chunk_aligned_read Ming Lin
2015-07-06 7:44 ` [PATCH v5 07/11] md/raid5: get rid of bio_fits_rdev() Ming Lin
2015-07-06 7:44 ` [PATCH v5 08/11] block: kill merge_bvec_fn() completely Ming Lin
2015-07-06 7:44 ` [PATCH v5 09/11] fs: use helper bio_add_page() instead of open coding on bi_io_vec Ming Lin
2015-07-06 7:44 ` [PATCH v5 10/11] block: remove bio_get_nr_vecs() Ming Lin
2015-07-06 10:58 ` Steven Whitehouse
2015-07-06 17:21 ` Ming Lin
2015-07-07 9:04 ` Steven Whitehouse [this message]
2015-07-06 7:44 ` [PATCH v5 11/11] Documentation: update notes in biovecs about arbitrarily sized bios Ming Lin
2015-07-31 19:23 ` [PATCH v5 01/11] block: make generic_make_request handle " Mike Snitzer
2015-07-31 21:19 ` Ming Lin
2015-07-31 21:38 ` Mike Snitzer
2015-07-31 22:02 ` Ming Lin
2015-07-31 22:18 ` Ming Lin
2015-08-01 6:58 ` Ming Lin
2015-08-01 16:33 ` Mike Snitzer
2015-08-03 5:58 ` Ming Lin
2015-08-04 11:36 ` Christoph Hellwig
2015-08-05 6:03 ` Ming Lin
2015-08-07 7:30 ` Christoph Hellwig
2015-08-07 23:40 ` Ming Lin
2015-08-08 0:30 ` Kent Overstreet
2015-08-08 5:17 ` Ming Lin
2015-08-08 5:22 ` Kent Overstreet
2015-08-08 12:35 ` Christoph Hellwig
2015-08-08 8:52 ` [dm-devel] " Hannes Reinecke
2015-08-08 9:02 ` Kent Overstreet
2015-08-13 6:04 ` Hannes Reinecke
2015-08-07 0:00 ` Kent Overstreet
2015-08-07 7:30 ` Christoph Hellwig
2015-08-08 16:19 ` [dm-devel] " Martin K. Petersen
2015-08-09 5:59 ` Ming Lin
2015-08-09 6:41 ` Christoph Hellwig
2015-08-09 6:55 ` Ming Lin
2015-08-09 7:01 ` Christoph Hellwig
2015-08-09 7:18 ` Ming Lin
2015-08-10 15:02 ` Mike Snitzer
2015-08-10 16:14 ` Ming Lin
2015-08-10 16:18 ` Ming Lin
2015-08-10 16:40 ` Martin K. Petersen
2015-08-10 18:13 ` Mike Snitzer
2015-08-10 22:30 ` Ming Lin
2015-08-10 16:22 ` Martin K. Petersen
2015-08-10 18:18 ` Ming Lin
2015-08-11 2:00 ` Martin K. Petersen
2015-08-11 2:41 ` Mike Snitzer
2015-08-11 3:38 ` Kent Overstreet
2015-08-11 14:08 ` Mike Snitzer
2015-08-11 17:49 ` Martin K. Petersen
2015-08-11 18:05 ` Martin K. Petersen
2015-08-11 20:56 ` Ming Lin
2015-08-12 0:24 ` Martin K. Petersen
2015-08-12 4:41 ` Ming Lin
2015-08-11 17:36 ` Martin K. Petersen
2015-08-11 17:47 ` Mike Snitzer
2015-08-11 18:01 ` [dm-devel] " Martin K. Petersen
-- strict thread matches above, loose matches on Subject: below --
2015-07-06 7:11 [PATCH v5 00/11] simplify block layer based on immutable biovecs mlin
2015-07-06 7:11 ` [PATCH v5 10/11] block: remove bio_get_nr_vecs() mlin
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=559B9601.9040507@redhat.com \
--to=swhiteho@redhat.com \
--cc=axboe@kernel.dk \
--cc=dpark@posteo.net \
--cc=hch@lst.de \
--cc=kent.overstreet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.l@ssi.samsung.com \
--cc=mlin@kernel.org \
--cc=snitzer@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome