The objective of the i/o controller is to improve i/o performance predictability of different cgroups sharing the same block devices. Respect to other priority/weight-based solutions the approach used by this controller is to explicitly choke applications' requests that directly (or indirectly) generate i/o activity in the system. The direct bandwidth and/or iops limiting method has the advantage of improving the performance predictability at the cost of reducing, in general, the overall performance of the system (in terms of throughput). Detailed informations about design, its goal and usage are described in the documentation. Patchset against 2.6.27-rc5-mm1: [PATCH 0/6] cgroup: block device i/o controller (v11) [PATCH 1/6] i/o controller documentation [PATCH 2/6] introduce ratelimiting attributes and functionality to res_counter [PATCH 3/6] i/o controller infrastructure [PATCH 4/6] memcg: interface to charge the right cgroup of asynchronous i/o activity [PATCH 5/6] i/o controller instrumentation: accounting and throttling [PATCH 6/6] export per-task i/o throttling statistics to userspace The all-in-one patch (and previous versions) can be found at: http://download.systemimager.org/~arighi/linux/patches/io-throttle/ There are no significant changes respect to v10, I've only implemented/fixed some suggestions I received. Changelog: (v10 -> v11) * report per block device i/o statistics (total bytes read/written and iops) in blockio.stat for i/o limited cgroups * distinct bandwidth and iops statistics: both in blockio.throttlecnt and /proc/PID/io-throttle-stat (suggested by David Radford) * merge res_counter_ratelimit functionality into res_counter, to avoid code duplication (suggested by Paul Manage) * use kernel-doc style for documenting struct res_counter attributes (suggested by Randy Dunalp) * udpated documentation Thanks to all for the feedback! -Andrea _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers