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