Avi Kivity wrote:On 08/06/2009 01:59 PM, Wu Fengguang wrote:
As a refinement, the static variable 'recent_all_referenced' could be
moved to struct zone or made a per-cpu variable.
Definitely this should be made part of the zone structure, consider the original report where the problem occurs in a 128MB zone (where we can expect many pages to have their referenced bit set).
The problem did not occur in a 128MB zone, but in a 128MB cgroup.
Putting it in the zone means that the cgroup, which may have
different behaviour from the rest of the zone, due to excessive
memory pressure inside the cgroup, does not get the right
statistics.