[Devel] [PATCH 0/3] cgroup: block device i/o bandwidth controller (v4)

Andrea Righi righi.andrea at gmail.com
Fri Jul 4 06:58:45 PDT 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
documentation.

Tested against latest git (2.6.26-rc8).

The all-in-one patch (and previous versions) can be found at:
http://download.systemimager.org/~arighi/linux/patches/io-throttle/

Most of the changes in v4 are based on the Andrew Morton's review of patchset
v3. Thanks Andrew.

Changelog: (v3 -> v4)
  - avoid potential deadlock in __set_page_dirty() with CONFIG_PREEMPT=n
  - do not treat partitions as separate block devices: only entire block
    devices are allowed to define i/o throttling rules; moreover, i/o activity
    on partitions is accounted to opportune entire block device they belong to.
  - reworked userspace<->kernel interface: accept and store all values in
    bytes/sec (a userspace front-end application will take care of properly
    showing and accepting values in human-readable format)
  - uninlined a lot of functions
  - code formatting fixes
  - more documentation

Todo:
  - see documentation

-Andrea
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list