mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
writeback: reliably update bandwidth estimation
Currently we trigger writeback bandwidth estimation from balance_dirty_pages() and from wb_writeback(). However neither of these need to trigger when the system is relatively idle and writeback is triggered e.g. from fsync(2). Make sure writeback estimates happen reliably by triggering them from do_writepages(). Link: https://lkml.kernel.org/r/20210713104716.22868-2-jack@suse.cz Signed-off-by: Jan Kara <jack@suse.cz> Cc: Michael Stapelberg <stapelberg+linux@google.com> Cc: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
633a2abb9e
commit
fee468fdf4
4 changed files with 46 additions and 16 deletions
|
@ -288,6 +288,17 @@ static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
|
|||
return inode->i_wb;
|
||||
}
|
||||
|
||||
static inline struct bdi_writeback *inode_to_wb_wbc(
|
||||
struct inode *inode,
|
||||
struct writeback_control *wbc)
|
||||
{
|
||||
/*
|
||||
* If wbc does not have inode attached, it means cgroup writeback was
|
||||
* disabled when wbc started. Just use the default wb in that case.
|
||||
*/
|
||||
return wbc->wb ? wbc->wb : &inode_to_bdi(inode)->wb;
|
||||
}
|
||||
|
||||
/**
|
||||
* unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
|
||||
* @inode: target inode
|
||||
|
@ -366,6 +377,14 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
|
|||
return &inode_to_bdi(inode)->wb;
|
||||
}
|
||||
|
||||
static inline struct bdi_writeback *inode_to_wb_wbc(
|
||||
struct inode *inode,
|
||||
struct writeback_control *wbc)
|
||||
{
|
||||
return inode_to_wb(inode);
|
||||
}
|
||||
|
||||
|
||||
static inline struct bdi_writeback *
|
||||
unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue