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;
-
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/
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?
-