The I/O bandwidth controller testplan includes a complete set of testcases to
verify the effectiveness of the block device I/O throttling capabilities for
cgroups.

I/O bandwidth limitations are imposed by the testcase script and verified doing
I/O activity on a limited block device. Tests are supposed to be passed if the
I/O rates of all the different workloads always respect the I/O limitations.

TESTCASE DESCRIPTION:
====================
First of all we evaluate the physical I/O bandwidth (physical-io-bw) of the
block device where the current working directory resides.

Based on the physical I/O bandwidth three cgroups are created: cgroup-1,
cgroup-2, cgroup-3. Cgroups use respectively the following I/O bandwidth
limitations:
- cgroup-1: physical-io-bw / 2
- cgroup-2: physical-io-bw / 4
- cgroup-3: physical-io-bw / 8

Each test is considered passed only if the I/O limitations above are respected.

Currently the following different scenarios are tested:
- 1 single stream per cgroup using leaky-bucket I/O throttling
- 1 single stream per cgroup using token-bucket I/O throttling
- 2 parallel streams per cgroup using leaky-bucket I/O throttling
- 2 parallel streams per cgroup using token-bucket I/O throttling
- 4 parallel streams per cgroup using leaky-bucket I/O throttling
- 4 parallel streams per cgroup using token-bucket I/O throttling

For any other information please refer to
Documentation/controllers/io-throttle.txt in kernel documentation.

Questions?
----------
Send email to: righi.andrea@gmail.com
