Re: [PATCH] emulate accessed bit for EPT

From: Balbir Singh
Date: Thu Feb 04 2010 - 10:52:43 EST


* Rik van Riel <riel@xxxxxxxxxx> [2010-02-04 10:41:14]:

> Balbir Singh wrote:
> >* Rik van Riel <riel@xxxxxxxxxx> [2010-02-04 08:40:43]:
> >
> >>On 02/03/2010 11:12 PM, Balbir Singh wrote:
> >>>* Rik van Riel<riel@xxxxxxxxxx> [2010-02-03 16:11:03]:
> >>>
> >>>>Currently KVM pretends that pages with EPT mappings never got
> >>>>accessed. This has some side effects in the VM, like swapping
> >>>>out actively used guest pages and needlessly breaking up actively
> >>>>used hugepages.
> >>>>
> >>>>We can avoid those very costly side effects by emulating the
> >>>>accessed bit for EPT PTEs, which should only be slightly costly
> >>>>because pages pass through page_referenced infrequently.
> >>>Quite a clever implementation, one side effect is that one would see a
> >>>larger number of minor faults with EPT enabled and an increase in
> >>>allocation/frees of rmap entries, but that can be easily explained.
> >>I suspect it won't be very many. I have been monitoring
> >>/proc/meminfo on my system while testing this patch, and
> >>it is quite typical that the size of the inactive anon
> >>list does not change for minutes at a time.
> >>
> >>In other words, no pages are moved onto or off of the
> >>inactive anon list for several minutes. That corresponds
> >>to a very small number of minor faults introduced by my
> >>patch.
> >>
> >>Of course, when the system is swapping, we will have more
> >>minor faults. However, minor faults should be less of a
> >>performance issue than major faults :)
> >>
> >
> >I do agree with you.
>
> After 20 hours of uptime, it appears that this patch has
> resolved the "KVM guests get swapped while buffer and page
> cache stay in memory" problem my home system was experiencing.

Is this with cgroups enabled as defined by the setup Jeff had?

--
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/