天天看点

cgroup子系统3_freezer子系统

freezer子系统用于挂起和恢复cgroup中的进程。freezer有一个控制文件:freezer.state,将frozen写入该文件,

可以将cgroup中的进程挂起,将thawed写入该文件,可以将已挂起的进程恢复。通过遍历cgroup中的进程,对其freeze或者wake_up。

freeze操作通过freeze框架实现,设置进程的tif_sigpending函数(伪信号),唤醒进程,然后进程在返回用户态时,信号处理入

口get_signal_to_deliver中通过try_to_freeze冻结进程(设置进程为task_uninterruptable,然后重调度)

参考博客:

1.freezer子系统

2.linux新内核的freeze框架以及意义

继续阅读