README
1 TEST SUITE:
2
3 The directory io-throttle contains the tests related to block device I/O
4 bandwdith controller.
5
6 More testcases are expected to be added in future.
7
8 TESTS AIM:
9
10 The aim of the tests is to check the block device I/O throttling functionality
11 for cgroups.
12
13 FILES DESCRIPTION:
14
15 iobw.c
16 ---------------
17 Simple benchmark to generate parallel streams of direct I/O (O_DIRECT). This
18 benchmark fork()s one task per stream. Each task creates a separate file in the
19 current working directory, fills it with data using O_DIRECT writes and re-read
20 the whole file always in O_DIRECT mode. Different timestamps are used to
21 evaluate per-task I/O rate and total I/O rate (seen by the parent).
22
23 myfunctions.sh
24 ----------
25 This file contains the functions which are common for the io-throttle tests.
26 For ex. the setup and cleanup functions which do the setup for running the
27 test and do the cleanup once the test finishes. The setup() function creates
28 /dev/blockioctl directory and mounts cgroup filesystem on it with memory
29 controller. It then creates a number(n) of groups in /dev/blockioctl. The
30 cleanup function does a complete cleanup of the system.
31
32 Most of the error scenarios have been taken care of for a sane cleanup of the
33 system. However if cleanup fails in any case, just manually execute the
34 commands written in cleanup function in myfunctions.sh.
35 One of the most common causes of failed cleanup is that you have done cd into
36 any of the groups in controller dir tree.
37
38 run_io_throttle_test.sh
39 ------------------
40 This script creates different scenarios for I/O bandwidth controller testing
41 and fires (n) tasks in different groups to write and read different I/O streams
42 etc. It waits for the return status from tasks and reports test pass/fail
43 accordingly.
44
45 Makefile
46 --------
47 The usual makefile for this directory
48
49 PASS/FAIL CRITERION:
50 ==================
51 The test cases are intelligent enough in deciding the pass or failure of a
52 test.
53
54 README:
55 --------
56 This file.
57