|| ||Wu Fengguang <firstname.lastname@example.org>|
|| ||[PATCH 00/13] Balancing the scan rate of major caches V2|
|| ||Tue, 06 Dec 2005 21:56:08 +0800|
|| ||Andrew Morton <email@example.com>,
Christoph Lameter <firstname.lastname@example.org>,
Rik van Riel <email@example.com>,
Peter Zijlstra <firstname.lastname@example.org>|
Changes since V1:
- better broken up of patches
- replace pages_more_aged with age_ge/age_gt
- expanded shrink_slab interface
- rewrite kswapd rebalance logic to be simple and robust
This patch balances the aging rates of active_list/inactive_list/slab.
It started out as an effort to enable the adaptive read-ahead to handle large
number of concurrent readers. Then I found it envolves much more stuffs, and
deserves a standalone patchset to address the balancing problem as a whole.
The whole picture of balancing:
- In each node, inactive_list scan rates are synced with each other
It is done in the direct/kswapd reclaim path.
- In each zone, active_list scan rate always follows that of inactive_list
- Slab cache scan rates always follow that of the current node.
Since shrink_slab() can be called from different CPUs, that effectly sync
slab cache scan rates with that of the most scanned node.
The patches can be grouped as follows:
- balancing stuffs
- pure code cleanups
- debug code
- a minor fix
Dept. Automation University of Science and Technology of China