Re: [PATCH 1/2] Remove inode_congested()

From: NeilBrown
Date: Sun Dec 12 2021 - 23:59:53 EST


On Mon, 13 Dec 2021, Matthew Wilcox wrote:
> On Mon, Dec 13, 2021 at 03:14:27PM +1100, NeilBrown wrote:
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index fb9584641ac7..540aa0ea67ff 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -989,17 +989,6 @@ static inline int is_page_cache_freeable(struct page *page)
> > return page_count(page) - page_has_private(page) == 1 + page_cache_pins;
> > }
> >
> > -static int may_write_to_inode(struct inode *inode)
> > -{
> > - if (current->flags & PF_SWAPWRITE)
> > - return 1;
> > - if (!inode_write_congested(inode))
> > - return 1;
> > - if (inode_to_bdi(inode) == current->backing_dev_info)
> > - return 1;
> > - return 0;
> > -}
>
> Why is it safe to get rid of the PF_SWAPWRITE and current->backing_dev_info
> checks?

Ask George Bool.
If inode_write_congested() returns False, then may_write_to_inode() will
always return True.

NeilBrown


>
> > @@ -1158,8 +1147,6 @@ static pageout_t pageout(struct page *page, struct address_space *mapping)
> > }
> > if (mapping->a_ops->writepage == NULL)
> > return PAGE_ACTIVATE;
> > - if (!may_write_to_inode(mapping->host))
> > - return PAGE_KEEP;
> >
> > if (clear_page_dirty_for_io(page)) {
> > int res;
>
>