mm: Add balance_dirty_pages_ratelimited_flags() function
authorJan Kara <jack@suse.cz>
Thu, 23 Jun 2022 17:51:46 +0000 (10:51 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:31 +0000 (18:39 -0600)
commitfe6c9c6e3e3e332b998393d214fba9d09ab0acb0
tree5c15f495e21679cf5c2c41de0bdec69219f074ec
parente92eebbb09218e128e559cf12b65317721309324
mm: Add balance_dirty_pages_ratelimited_flags() function

This adds the helper function balance_dirty_pages_ratelimited_flags().
It adds the parameter flags to balance_dirty_pages_ratelimited().
The flags parameter is passed to balance_dirty_pages(). For async
buffered writes the flag value will be BDP_ASYNC.

If balance_dirty_pages() gets called for async buffered write, we don't
want to wait. Instead we need to indicate to the caller that throttling
is needed so that it can stop writing and offload the rest of the write
to a context that can block.

The new helper function is also used by balance_dirty_pages_ratelimited().

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Stefan Roesch <shr@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220623175157.1715274-4-shr@fb.com
[axboe: fix kerneltest bot 'ret' issue]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/writeback.h
mm/page-writeback.c