Re: [PATCH -mm] vmscan: make mapped executable pages the first class citizen

KOSAKI Motohiro
2009-05-10T09:36:40Z

>> How about this?
>> if priority < DEF_PRIORITY-2, aggressive lumpy reclaim in
>> shrink_inactive_list() already
>> reclaim the active page forcely.
>> then, this patch don't change kernel reclaim policy.
>>
>> anyway, user process non-changable preventing "nice my process up
>> hack" seems makes sense to me.
>>
>> test result:
>>
>> echo 100 > /proc/sys/vm/dirty_ratio
>> echo 100 > /proc/sys/vm/dirty_background_ratio
>> run modified qsbench (use mmap(PROT_EXEC) instead malloc)
>>
>>            active2active vs active2inactive ratio
>> before    5:5
>> after       1:9
>>
>> please don't ask performance number. I haven't reproduce Wu's patch
>> improvemnt ;)
>>
>> Wu, What do you think?
>
> I don't think this is desirable, like Andrew already said, there's tons
> of ways to defeat any of this and we've so far always priorized mappings
> over !mappings. Limiting this to only PROT_EXEC mappings is already less
> than it used to be.

I don't oppose this policy. PROT_EXEC seems good viewpoint.
The problem is PROT_EXEC'ed page isn't gurantee rarely.

if all pages claim "Hey, I'm higher priority page, please don't
reclaim me", end-user get
suck result easily.

before 2.6.27 kernel have similar problems. many mapped page cause bad latency
easily. I don't want reproduce this.