OpenVZ Forum

Home » Mailing lists » Devel » [PATCH -mm 0/3] cgroup: block device i/o bandwidth controller (v5)
[PATCH -mm 0/3] cgroup: block device i/o bandwidth controller (v5) [message #31896] Sat, 12 July 2008 11:31
Andrea Righi is currently offline  Andrea Righi
Messages: 65
Registered: May 2008
The objective of the i/o bandwidth 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 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

Tested against 2.6.26-rc8-mm1.

The all-in-one patch (and previous versions) can be found at:

Thanks to Li Zefan for reviewing.

Changelog: (v4 -> v5)
  - rebase to 2.6.26-rc8-mm1
  - handle AIO opportunely: return -EAGAIN from sys_io_submit(), instead of
    making to sleep tasks doing AIO
  - userspace=>kernel interface now accepts the following syntaxes:
    * dev:0                       <- to delete a limiting rule
    * dev:bw-limit:0              <- define a leaky bucket throttling rule
    * dev:bw-limit:1:bucket-size  <- define a token bucket throttling rule
  - use .write_string and .read_seq_string to simplify iothrottle_read() and
    iothrottle_write() functions
  - use a enum structure to enumerate the various throttling algorithms

  - see documentation

Containers mailing list
Read Message
Previous Topic: [patch 0/4] Container Freezer: Reuse Suspend Freezer
Next Topic: [PATCH -mm 1/3] i/o bandwidth controller documentation
Goto Forum:

Current Time: Tue Oct 03 11:45:22 GMT 2023

Total time taken to generate the page: 0.02314 seconds