• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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