TEST SUITE: The directory io-throttle contains the tests related to block device I/O bandwdith controller. More testcases are expected to be added in future. TESTS AIM: The aim of the tests is to check the block device I/O throttling functionality for cgroups. FILES DESCRIPTION: iobw.c --------------- Simple benchmark to generate parallel streams of direct I/O (O_DIRECT). This benchmark fork()s one task per stream. Each task creates a separate file in the current working directory, fills it with data using O_DIRECT writes and re-read the whole file always in O_DIRECT mode. Different timestamps are used to evaluate per-task I/O rate and total I/O rate (seen by the parent). myfunctions.sh ---------- This file contains the functions which are common for the io-throttle tests. For ex. the setup and cleanup functions which do the setup for running the test and do the cleanup once the test finishes. The setup() function creates /dev/blockioctl directory and mounts cgroup filesystem on it with memory controller. It then creates a number(n) of groups in /dev/blockioctl. The cleanup function does a complete cleanup of the system. Most of the error scenarios have been taken care of for a sane cleanup of the system. However if cleanup fails in any case, just manually execute the commands written in cleanup function in myfunctions.sh. One of the most common causes of failed cleanup is that you have done cd into any of the groups in controller dir tree. run_io_throttle_test.sh ------------------ This script creates different scenarios for I/O bandwidth controller testing and fires (n) tasks in different groups to write and read different I/O streams etc. It waits for the return status from tasks and reports test pass/fail accordingly. Makefile -------- The usual makefile for this directory PASS/FAIL CRITERION: ================== The test cases are intelligent enough in deciding the pass or failure of a test. README: -------- This file.