On Tue, 2017-04-04 at 18:00 -0400, Johannes Weiner wrote: > + > + /* > +  * When refaults are being observed, it means a new > workingset > +  * is being established. Disable active list protection to > get > +  * rid of the stale workingset quickly. > +  */ This looks a little aggressive. What is this expected to do when you have multiple workloads sharing the same LRU, and one of the workloads is doing refaults, while the other workload is continuing to use the same working set as before? I have been trying to wrap my mind around that for the past day or so, and figure I should just ask the question :) > + if (file && actual_reclaim && lruvec->refaults != refaults) > { > + inactive_ratio = 0; > + } else { > + gb = (inactive + active) >> (30 - PAGE_SHIFT); > + if (gb) > + inactive_ratio = int_sqrt(10 * gb); > + else > + inactive_ratio = 1; > + } -- All rights reversed