unplugged-system/external/ltp/testcases/kernel/controllers/freezer
2025-10-06 13:59:42 +00:00
..
00_description.txt Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
CHANGELOG Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
fork_exec_loop.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
fork_freeze.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_cancel.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_kill_thaw.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_move_thaw.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_self_thaw.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_sleep_thaw.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_thaw.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
freeze_write_freezing.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libcgroup_freezer Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
libltp Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Makefile Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
README Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
run_freezer.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
stop_freeze_sleep_thaw_cont.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
stop_freeze_thaw_cont.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
timed_forkbomb.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
TODO Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
vfork_freeze.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
vfork.c Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
write_freezing.sh Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00

==============================================================
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.