bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

VM cache policy change


From: Justus Winter
Subject: VM cache policy change
Date: Sat, 21 Feb 2015 16:02:00 +0100

Hello,

Richard's patch for the VM cache policy has the potential to speed up
Hurd systems a lot by allowing for more VM objects to be cached.
Previously there was a fixed limit (4000), whereas with this patch
almost the entire memory can be used as cache.

He mentions three problems preventing the patch to be merged as-is:

a) thread storms in filesystem pagers, b) linear scans through the
objects when trying to evict pages, and c) chance of swapping
deadlocks.

We dealt with a) by using a userspace queue and a fixed number of
threads in libpager.  b) is adressed in this patch series by
introducing a list of clean pages and evicting those first.  I cannot
comment on c).

* [PATCH gnumach 1/3] VM cache policy change
This is Richard's patch, unchanged.

* [PATCH gnumach 2/3] vm: keep track of clean pages
Hat tip to coccinelle for writing most of this patch for me :)

* [PATCH gnumach 3/3] vm: evict clean pages first
This is a (maybe somewhat naive) modification to the pageout daemon to
make it evict (all) clean pages first.  If a clean page is still
deemed unsuitable for eviction, it is moved to the end of the queue.
This seems to work very well on my development machine.

Please comment :)
Justus



reply via email to

[Prev in Thread] Current Thread [Next in Thread]