> >
> > 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.
Yes of course ;)
> 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.
Ah, it's not only the swap cache, also the check for pte_young() in
try_to_swap_out() act as a first barrier to avoid swapping out our working
set.
Andrea Arcangeli
-
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/