1============================================================== 2Test Suite for the Control Group Freezer and Signal Subsystems 3============================================================== 4Author: Matt Helsley 5Date: June, 2008 6Last update: January 19th, 2009 7 8About: 9------ 10These tests exercise the freezer and signal subsystems (aka controllers) 11available since kernel 2.6.28 or later. 12 13These tests exercise the freezer control group controller. This controller is 14a useful for implementing container checkpointing or if you wish to gradually 15freeze tasks in cgroups before doing a suspend. 16 17The common case is embodied in the freeze_thaw.sh test file. However, 18the scripts are also designed to test a few obscure cases such as: 19 freeze self -- freeze the control group that the current process is 20 in 21 freeze cancellation -- freeze but then backout of the freeze processing 22 and issue a "thaw" command before reaching the frozen state 23 signalling freezing/frozen tasks -- this should delay delivery of the 24 signal until the task is unfrozen 25 vfork -- The vfork system call introduces an obscure special case for 26 the freezer kernel code. This test case attempts to trigger any 27 unanticipated corner cases involving vfork. 28 29 30NOTES: 31 32 Using the cgroup freezer prevents the tasks from being automatically 33 woken up upon a "Power Management Resume". You will need to 34 manually unfreeze cgroups. 35 36 These tests assume that most of the library functions in 37 libcgroup_subsys take much less than $sample_sleep time to execute. If 38 this assumption is incorrect then many of these tests may fail in 39 unusual ways. So make sure $sample_sleep is a "reasonable" amount of 40 time. 41 42Building: 43--------- 44 45Run the command line: 46 make all 47 48 49Installing: 50----------- 51 52Run the command line: 53 54 55Cleaning: 56--------- 57 58Run the command line: 59 60 make clean 61 62 63Running: 64-------- 65 66Run the command line: 67 68 ./run.sh 69 70Results: 71-------- 72 73The results should show up as PASS/FAIL in the LTP logs for each script. The 74output frequently will be more specific (beyond which test script failed) 75about where and what failure occurred. 76 77