Re: [patch 1/5] vmscan: fix unmapping behaviour for RECLAIM_SWAP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



sorry for the long delayed review.

> The RECLAIM_SWAP flag in zone_reclaim_mode controls whether
> zone_reclaim() is allowed to swap or not (obviously).
> 
> This is currently implemented by allowing or forbidding reclaim to
> unmap pages, which also controls reclaim of shared pages and is thus
> not appropriate.
> 
> We can do better by using the sc->may_swap parameter instead, which
> controls whether the anon lists are scanned.
> 
> Unmapping of pages is then allowed per default from zone_reclaim().
> 
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> ---
>  mm/vmscan.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2563,8 +2563,8 @@ static int __zone_reclaim(struct zone *z
>  	int priority;
>  	struct scan_control sc = {
>  		.may_writepage = !!(zone_reclaim_mode & RECLAIM_WRITE),
> -		.may_unmap = !!(zone_reclaim_mode & RECLAIM_SWAP),
> -		.may_swap = 1,
> +		.may_unmap = 1,
> +		.may_swap = !!(zone_reclaim_mode & RECLAIM_SWAP),
>  		.nr_to_reclaim = max_t(unsigned long, nr_pages,
>  				       SWAP_CLUSTER_MAX),
>  		.gfp_mask = gfp_mask,

About half years ago, I did post exactly same patch. but at that time,
it got Mel's objection. after some discution we agreed to merge
documentation change instead code fix.

So, now the documentation describe clearly 4th bit meant no unmap.
Please drop this, instead please make s/RECLAIM_SWAP/RECLAIM_MAPPED/ patch.

But if mel ack this, I have no objection.


----------------------------------------------------------
commit 90afa5de6f3fa89a733861e843377302479fcf7e
Author: Mel Gorman <mel@xxxxxxxxx>
Date:   Tue Jun 16 15:33:20 2009 -0700

diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 0ea5adb..c4de635 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -315,10 +315,14 @@ min_unmapped_ratio:

 This is available only on NUMA kernels.

-A percentage of the total pages in each zone.  Zone reclaim will only
-occur if more than this percentage of pages are file backed and unmapped.
-This is to insure that a minimal amount of local pages is still available for
-file I/O even if the node is overallocated.
+This is a percentage of the total pages in each zone. Zone reclaim will
+only occur if more than this percentage of pages are in a state that
+zone_reclaim_mode allows to be reclaimed.
+
+If zone_reclaim_mode has the value 4 OR'd, then the percentage is compared
+against all file-backed unmapped pages including swapcache pages and tmpfs
+files. Otherwise, only unmapped pages backed by normal files but not tmpfs
+files and similar are considered.


--
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>

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]