Messages in this thread | | | Date | Wed, 6 Jan 2021 16:45:48 +0800 | From | Ming Lei <> | Subject | Re: [RFC PATCH] fs: block_dev: compute nr_vecs hint for improving writeback bvecs allocation |
| |
On Tue, Jan 05, 2021 at 07:39:38PM +0100, Christoph Hellwig wrote: > At least for iomap I think this is the wrong approach. Between the > iomap and writeback_control we know the maximum size of the writeback > request and can just use that.
I think writeback_control can tell us nothing about max pages in single bio:
- wbc->nr_to_write controls how many pages to writeback, this pages usually don't belong to same bio. Also this number is often much bigger than BIO_MAX_PAGES.
- wbc->range_start/range_end is similar too, which is often much more bigger than BIO_MAX_PAGES.
Also page/blocks_in_page can be mapped to different extent too, which is only available when wpc->ops->map_blocks() is returned, which looks not different with mpage_writepages(), in which bio is allocated with BIO_MAX_PAGES vecs too.
Or you mean we can use iomap->length for this purpose? But iomap->length still is still too big in case of xfs.
-- Ming
| |