2002-03-20 04:07:46

by Andrew Morton

[permalink] [raw]
Subject: aa-200-active_page_swapout

Last one.


Don't bother checking for active pages in the swapout path.

Not sure about this one. Clearly the page isn't *likely* to be on the
active list, because the caller found it on the inactive list. But I
don't see any locking which would prevent the page from getting bumped
up to the active list in the meanwhile.

Needs more explanation.


=====================================

--- 2.4.19-pre3/mm/vmscan.c~aa-200-active_page_swapout Tue Mar 19 19:49:04 2002
+++ 2.4.19-pre3-akpm/mm/vmscan.c Tue Mar 19 19:49:04 2002
@@ -83,10 +83,6 @@ static inline int try_to_swap_out(struct
return 0;
}

- /* Don't bother unmapping pages that are active */
- if (PageActive(page))
- return 0;
-
/* Don't bother replenishing zones not under pressure.. */
if (!memclass(page_zone(page), classzone))
return 0;

-


2002-03-20 13:53:29

by Rik van Riel

[permalink] [raw]
Subject: Re: aa-200-active_page_swapout

On Tue, 19 Mar 2002, Andrew Morton wrote:

> Don't bother checking for active pages in the swapout path.
>
> Not sure about this one. Clearly the page isn't *likely* to be on the
> active list, because the caller found it on the inactive list.

Mmmm nope.

The caller of swap_out (shrink_caches) may have been scanning the
inactive list, but swap_out itself scans the page tables.

This means it can encounter all kinds of pages, active, inactive
and even reserved pages.

> --- 2.4.19-pre3/mm/vmscan.c~aa-200-active_page_swapout Tue Mar 19 19:49:04 2002
> +++ 2.4.19-pre3-akpm/mm/vmscan.c Tue Mar 19 19:49:04 2002
> @@ -83,10 +83,6 @@ static inline int try_to_swap_out(struct
> return 0;
> }
>
> - /* Don't bother unmapping pages that are active */
> - if (PageActive(page))
> - return 0;
> -
> /* Don't bother replenishing zones not under pressure.. */
> if (!memclass(page_zone(page), classzone))
> return 0;
>
> -
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

Rik
--
Bravely reimplemented by the knights who say "NIH".

http://www.surriel.com/ http://distro.conectiva.com/

2002-03-20 19:26:41

by Andrew Morton

[permalink] [raw]
Subject: Re: aa-200-active_page_swapout

Rik van Riel wrote:
>
> On Tue, 19 Mar 2002, Andrew Morton wrote:
>
> > Don't bother checking for active pages in the swapout path.
> >
> > Not sure about this one. Clearly the page isn't *likely* to be on the
> > active list, because the caller found it on the inactive list.
>
> Mmmm nope.
>
> The caller of swap_out (shrink_caches) may have been scanning the
> inactive list, but swap_out itself scans the page tables.
>
> This means it can encounter all kinds of pages, active, inactive
> and even reserved pages.
>

good point :)

So what does the patch do?

-