Re: [RFC/T/D][PATCH 2/2] Linux/Guest cooperative unmapped page cache control

Avi Kivity
2010-06-14T08:09:49Z

On 06/11/2010 07:56 AM, Balbir Singh wrote:
>
>> Just to be clear, let's say we have a mapped page (say of /sbin/init)
>> that's been unreferenced since _just_ after the system booted. We also
>> have an unmapped page cache page of a file often used at runtime, say
>> one from /etc/resolv.conf or /etc/passwd.
>>
>> Which page will be preferred for eviction with this patch set?
>>
>>
> In this case the order is as follows
>
> 1. First we pick free pages if any
> 2. If we don't have free pages, we go after unmapped page cache and
> slab cache
> 3. If that fails as well, we go after regularly memory
>
> In the scenario that you describe, we'll not be able to easily free up
> the frequently referenced page from /etc/*. The code will move on to
> step 3 and do its regular reclaim.
>

Still it seems to me you are subverting the normal order of reclaim. I
don't see why an unmapped page cache or slab cache item should be
evicted before a mapped page. Certainly the cost of rebuilding a dentry
compared to the gain from evicting it, is much higher than that of
reestablishing a mapped page.

--
error compiling committee.c: too many arguments to function