Messages in this thread | | | From | Balbir Singh <> | Date | Sun, 01 Mar 2009 11:59:59 +0530 | Subject | [PATCH 0/4] Memory controller soft limit patches (v3) |
| |
From: Balbir Singh <balbir@linux.vnet.ibm.com>
Changelog v3...v2 1. Implemented several review comments from Kosaki-San and Kamezawa-San Please see individual changelogs for changes
Changelog v2...v1 1. Soft limits now support hierarchies 2. Use spinlocks instead of mutexes for synchronization of the RB tree
Here is v3 of the new soft limit implementation. Soft limits is a new feature for the memory resource controller, something similar has existed in the group scheduler in the form of shares. The CPU controllers interpretation of shares is very different though.
Soft limits are the most useful feature to have for environments where the administrator wants to overcommit the system, such that only on memory contention do the limits become active. The current soft limits implementation provides a soft_limit_in_bytes interface for the memory controller and not for memory+swap controller. The implementation maintains an RB-Tree of groups that exceed their soft limit and starts reclaiming from the group that exceeds this limit by the maximum amount.
If there are no major objections to the patches, I would like to get them included in -mm.
TODOs
1. The current implementation maintains the delta from the soft limit and pushes back groups to their soft limits, a ratio of delta/soft_limit might be more useful 2. It would be nice to have more targetted reclaim (in terms of pages to recalim) interface. So that groups are pushed back, close to their soft limits.
Tests -----
I've run two memory intensive workloads with differing soft limits and seen that they are pushed back to their soft limit on contention. Their usage was their soft limit plus additional memory that they were able to grab on the system. Soft limit can take a while before we see the expected results.
Please review, comment.
Series ------
memcg-soft-limit-documentation.patch memcg-add-soft-limit-interface.patch memcg-organize-over-soft-limit-groups.patch memcg-soft-limit-reclaim-on-contention.patch
-- Balbir
| |