On Tue, 27 Sep 2011, Michel Lespinasse wrote: > This is a followup to the prior version of this patchset, which I sent out > on September 16. > > I have addressed most of the basic feedback I got so far: > > - Renamed struct pr_info -> struct page_referenced_info > > - Config option now depends on 64BIT, as we may not have sufficient > free page flags in 32-bit builds > > - Renamed mem -> memcg in kstaled code within memcontrol.c > > - Uninlined kstaled_scan_page > > - Replaced strict_strtoul -> kstrtoul > > - Report PG_stale in /proc/kpageflags > > - Fix accounting of THP pages. Sorry for forgeting to do this in the > V1 patchset - to detail the change here, what I had to do was make sure > page_referenced() reports THP pages as dirty (as they always are - the > dirty bit in the pmd is currently meaningless) and update the minimalistic > implementation change to count THP pages as equivalent to 512 small pages. > > - The ugliest parts of patch 6 (rate limit pages scanned per second) have > been reworked. If the scanning thread gets delayed, it tries to catch up > so as to minimize jitter. If it can't catch up, it would probably be a > good idea to increase the scanning interval, but this is left up > to userspace. > Michel, I have been trying to test these patches since yesterday afternoon. When my machine is idle, they behave fine. I started looking at performance to make sure they were a big regression by testing kernel builds with the scanner disabled, and then enabled (set to 120 seconds). The scanner disabled builds work fine, but with the scanner enabled the second time I build my kernel hangs my machine every time. Unfortunately, I do not have any more information than that for you at the moment. My next step is to try the same tests in qemu to see if I can get more state information when the kernel hangs. Eric
Attachment:
signature.asc
Description: Digital signature