On 11/14/2016 11:00 AM, Christoph Hellwig wrote:
On Mon, Nov 14, 2016 at 10:47:46AM -0700, Jens Axboe wrote:
This seems less clean in basically all ways, not sure I agree with you.
We already have 4 vecs inlined in a generic bio, and we might as well
use the fs bioset instead of creating our own. You also add a smallish
dio to track things, I don't think we need that.
We need it unless we want unbounded allocations for the biovec. With a
1GB I/O we're at a page size allocation, and with 64MB I/Os that aren't
unheard of we'd be up to a 64 pages or an order 6 allocation which will
take down the VM. We also need to pin down all the user memory while
doing the I/O instead of having throttling on the bio mempool before
doing the get_user_pages.
Just add the iterator and loop for every X pages? We can even put a plug
around it, if we have to.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html