2019-10-03 18:50:01

by Yang Shi

[permalink] [raw]
Subject: [PATCH] mm: vmscan: remove unused scan_control parameter from pageout()

Since lumpy reclaim was removed in v3.5 scan_control is not used by
may_write_to_{queue|inode} and pageout() anymore, remove the unused
parameter.

Cc: Mel Gorman <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Signed-off-by: Yang Shi <[email protected]>
---
mm/vmscan.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index e5d52d6..17489b8 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -774,7 +774,7 @@ 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, struct scan_control *sc)
+static int may_write_to_inode(struct inode *inode)
{
if (current->flags & PF_SWAPWRITE)
return 1;
@@ -822,8 +822,7 @@ static void handle_write_error(struct address_space *mapping,
* pageout is called by shrink_page_list() for each dirty page.
* Calls ->writepage().
*/
-static pageout_t pageout(struct page *page, struct address_space *mapping,
- struct scan_control *sc)
+static pageout_t pageout(struct page *page, struct address_space *mapping)
{
/*
* If the page is dirty, only perform writeback if that write
@@ -859,7 +858,7 @@ 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, sc))
+ if (!may_write_to_inode(mapping->host))
return PAGE_KEEP;

if (clear_page_dirty_for_io(page)) {
@@ -1396,7 +1395,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,
* starts and then write it out here.
*/
try_to_unmap_flush_dirty();
- switch (pageout(page, mapping, sc)) {
+ switch (pageout(page, mapping)) {
case PAGE_KEEP:
goto keep_locked;
case PAGE_ACTIVATE:
--
1.8.3.1


2019-10-03 19:42:37

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] mm: vmscan: remove unused scan_control parameter from pageout()

On Fri, 4 Oct 2019, Yang Shi wrote:

> Since lumpy reclaim was removed in v3.5 scan_control is not used by
> may_write_to_{queue|inode} and pageout() anymore, remove the unused
> parameter.
>
> Cc: Mel Gorman <[email protected]>
> Cc: Johannes Weiner <[email protected]>
> Cc: Michal Hocko <[email protected]>
> Signed-off-by: Yang Shi <[email protected]>

Acked-by: David Rientjes <[email protected]>

2019-10-04 08:31:29

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH] mm: vmscan: remove unused scan_control parameter from pageout()

On Fri 04-10-19 01:41:38, Yang Shi wrote:
> Since lumpy reclaim was removed in v3.5 scan_control is not used by
> may_write_to_{queue|inode} and pageout() anymore, remove the unused
> parameter.

I haven't really checked whether it was the lumpy reclaim removal but it
is clearly not used these days.

> Cc: Mel Gorman <[email protected]>
> Cc: Johannes Weiner <[email protected]>
> Cc: Michal Hocko <[email protected]>
> Signed-off-by: Yang Shi <[email protected]>

Acked-by: Michal Hocko <[email protected]>

Thanks!

> ---
> mm/vmscan.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index e5d52d6..17489b8 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -774,7 +774,7 @@ 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, struct scan_control *sc)
> +static int may_write_to_inode(struct inode *inode)
> {
> if (current->flags & PF_SWAPWRITE)
> return 1;
> @@ -822,8 +822,7 @@ static void handle_write_error(struct address_space *mapping,
> * pageout is called by shrink_page_list() for each dirty page.
> * Calls ->writepage().
> */
> -static pageout_t pageout(struct page *page, struct address_space *mapping,
> - struct scan_control *sc)
> +static pageout_t pageout(struct page *page, struct address_space *mapping)
> {
> /*
> * If the page is dirty, only perform writeback if that write
> @@ -859,7 +858,7 @@ 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, sc))
> + if (!may_write_to_inode(mapping->host))
> return PAGE_KEEP;
>
> if (clear_page_dirty_for_io(page)) {
> @@ -1396,7 +1395,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,
> * starts and then write it out here.
> */
> try_to_unmap_flush_dirty();
> - switch (pageout(page, mapping, sc)) {
> + switch (pageout(page, mapping)) {
> case PAGE_KEEP:
> goto keep_locked;
> case PAGE_ACTIVATE:
> --
> 1.8.3.1

--
Michal Hocko
SUSE Labs

2019-10-04 16:45:15

by Yang Shi

[permalink] [raw]
Subject: Re: [PATCH] mm: vmscan: remove unused scan_control parameter from pageout()



On 10/4/19 1:16 AM, Michal Hocko wrote:
> On Fri 04-10-19 01:41:38, Yang Shi wrote:
>> Since lumpy reclaim was removed in v3.5 scan_control is not used by
>> may_write_to_{queue|inode} and pageout() anymore, remove the unused
>> parameter.
> I haven't really checked whether it was the lumpy reclaim removal but it
> is clearly not used these days.

It was removed by commit c53919adc045bf803252e912f23028a68525753d ("mm:
vmscan: remove lumpy reclaim").

>
>> Cc: Mel Gorman <[email protected]>
>> Cc: Johannes Weiner <[email protected]>
>> Cc: Michal Hocko <[email protected]>
>> Signed-off-by: Yang Shi <[email protected]>
> Acked-by: Michal Hocko <[email protected]>
>
> Thanks!
>
>> ---
>> mm/vmscan.c | 9 ++++-----
>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/mm/vmscan.c b/mm/vmscan.c
>> index e5d52d6..17489b8 100644
>> --- a/mm/vmscan.c
>> +++ b/mm/vmscan.c
>> @@ -774,7 +774,7 @@ 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, struct scan_control *sc)
>> +static int may_write_to_inode(struct inode *inode)
>> {
>> if (current->flags & PF_SWAPWRITE)
>> return 1;
>> @@ -822,8 +822,7 @@ static void handle_write_error(struct address_space *mapping,
>> * pageout is called by shrink_page_list() for each dirty page.
>> * Calls ->writepage().
>> */
>> -static pageout_t pageout(struct page *page, struct address_space *mapping,
>> - struct scan_control *sc)
>> +static pageout_t pageout(struct page *page, struct address_space *mapping)
>> {
>> /*
>> * If the page is dirty, only perform writeback if that write
>> @@ -859,7 +858,7 @@ 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, sc))
>> + if (!may_write_to_inode(mapping->host))
>> return PAGE_KEEP;
>>
>> if (clear_page_dirty_for_io(page)) {
>> @@ -1396,7 +1395,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,
>> * starts and then write it out here.
>> */
>> try_to_unmap_flush_dirty();
>> - switch (pageout(page, mapping, sc)) {
>> + switch (pageout(page, mapping)) {
>> case PAGE_KEEP:
>> goto keep_locked;
>> case PAGE_ACTIVATE:
>> --
>> 1.8.3.1