Re: [PATCH]mm:Correctly update number of rotated pages on active list.

From: Michal Hocko
Date: Thu Dec 03 2015 - 05:59:57 EST


On Thu 03-12-15 10:08:11, Pradeep Goswami (Pradeep Kumar Goswami) wrote:
> This patch corrects the number of pages which are rotated on active list.
> The counter for rotated pages effects the number of pages
> to be scanned on active pages list in low memory situations.

Why this should be changed?

This seems to be deliberate:
/*
* Count referenced pages from currently used mappings as rotated,
* even though only some of them are actually re-activated. This
* helps balance scan pressure between file and anonymous pages in
* get_scan_count.
*/
reclaim_stat->recent_rotated[file] += nr_rotated;

What kind of problem are you trying to fix?

>
> Signed-off-by: Pradeep Goswami <pradeep.goswami@xxxxxxxxxxxxx>
> Cc: Rebecca Schultz Zavin <rebecca@xxxxxxxxxxx>
> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
> --- a/mm/vmscan.c 2015-11-18 20:55:38.208838142 +0800
> +++ b/mm/vmscan.c 2015-11-19 14:37:31.189838998 +0800
> @@ -1806,7 +1806,6 @@ static void shrink_active_list(unsigned
>
> if (page_referenced(page, 0, sc->target_mem_cgroup,
> &vm_flags)) {
> - nr_rotated += hpage_nr_pages(page);
> /*
> * Identify referenced, file-backed active pages and
> * give them one more trip around the active list. So
> @@ -1818,6 +1817,7 @@ static void shrink_active_list(unsigned
> */
> if ((vm_flags & VM_EXEC) && page_is_file_cache(page)) {
> list_add(&page->lru, &l_active);
> + nr_rotated += hpage_nr_pages(page);
> continue;
> }
> }
>
> Thanks,
> Pradeep.
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/