Kernel: question/bug: mm/vmscan.c : refill_inactive_zone() : 2.4.18-3
Statement:
In a "while" loop we are looking for a target number of pages to deactivate.
Question?
If there are a large number of processes that have not exceeded their Resident Set Size (rss) and they are keeping their pages hot, then we won't reach our target value. This would keep our inactive page list small.
Suggestion and solution:
In this environment, I would think it would make sense to effectively walk this list again (without aging) and effectively half the rss so we are able to reach our target value.
I would think that this approach would then penalize all tasks equally. If halving the rss is too extreme, then an increased percentage (< 100%) would walk more pages to reach the target value.
Mitchell Erblich : [email protected]
Note: I am not currently on this mail alias.