==============================================================
Test Suite for the Control Group Freezer and Signal Subsystems
==============================================================
Author: Matt Helsley
Date: June, 2008
Last update: January 19th, 2009
About:
------
These tests exercise the freezer and signal subsystems (aka controllers)
available since kernel 2.6.28 or later.
These tests exercise the freezer control group controller. This controller is
a useful for implementing container checkpointing or if you wish to gradually
freeze tasks in cgroups before doing a suspend.
The common case is embodied in the freeze_thaw.sh test file. However,
the scripts are also designed to test a few obscure cases such as:
freeze self -- freeze the control group that the current process is
in
freeze cancellation -- freeze but then backout of the freeze processing
and issue a "thaw" command before reaching the frozen state
signalling freezing/frozen tasks -- this should delay delivery of the
signal until the task is unfrozen
vfork -- The vfork system call introduces an obscure special case for
the freezer kernel code. This test case attempts to trigger any
unanticipated corner cases involving vfork.
NOTES:
Using the cgroup freezer prevents the tasks from being automatically
woken up upon a "Power Management Resume". You will need to
manually unfreeze cgroups.
These tests assume that most of the library functions in
libcgroup_subsys take much less than $sample_sleep time to execute. If
this assumption is incorrect then many of these tests may fail in
unusual ways. So make sure $sample_sleep is a "reasonable" amount of
time.
Building:
---------
Run the command line:
make all
Installing:
-----------
Run the command line:
Cleaning:
---------
Run the command line:
make clean
Running:
--------
Run the command line:
./run.sh
Results:
--------
The results should show up as PASS/FAIL in the LTP logs for each script. The
output frequently will be more specific (beyond which test script failed)
about where and what failure occurred.