On 10/21/2013 05:26 AM, Vlastimil Babka wrote:> On 10/10/2013 11:46 PM, Johannes Weiner wrote:>> Hi everyone,>>>> here is an update to the cache sizing patches for 3.13.>>>> Changes in this revision>>>> o Drop frequency synchronization between refaulted and demoted pages>> and just straight up activate refaulting pages whose access>> frequency indicates they could stay in memory. This was suggested>> by Rik van Riel a looong time ago but misinterpretation of test>> results during early stages of development took me a while to>> overcome. It's still the same overall concept, but a little simpler>> and with even faster cache adaptation. Yay!>> Oh, I liked the previous approach with direct competition between the> refaulted and demoted page :) Doesn't the new approach favor the> refaulted page too much? No wonder it leads to faster cache adaptation,> but could it also cause degradations for workloads that don't benefit> from it? Were there any tests for performance regressions on workloads> that were not the target of the patchset?

This is a good question, and one that is probablybest settled through experimentation.

Even with the first scheme (fault refaulted page tothe inactive list), those pages only need 2 accessesto be promoted to the active list.

That is because a refault tends to immediately befollowed by an access (after all, the attemptedaccess causes the page to get loaded back into memory).