Yep, that's clear ... nevertheless it should be possible to avoid such
cases by adding smarter calculations for the `limit' than mine :-)
>
> To fix the problem I pointed out above, probably we only need to replace:
>
> > + if (kswapd && p == current->next_run && rss < limit)
> > + continue;
> > + if (p == current && rss < limit)
> > continue;
>
> with:
>
> if (!kswapd && p == current && rss < limit)
> continue;
>
> This heuristic make sense to me... but there's to say that we just have
> the swap cache that should just cope fine with these issues.
kswapd isn't swappable therefore `p == current && rss < limit' would work.
My small patch points out that avoiding the page request calling swap_in()
will increase performance even if swap cache avoids I/O from disk.
This was what page aging was good for.
Werner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/