[Devel] Re: [RFC][PATCH 0/4] Container Freezer
Serge E. Hallyn
serue at us.ibm.com
Wed Jun 20 09:50:38 PDT 2007
Quoting Cedric Le Goater (clg at fr.ibm.com):
> This patchset is a prototype using the container infrastructure and
> the swsusp freezer to freeze a group of tasks.
>
> 2 files are defined by the freezer subsystem in the container
> filesystem :
>
> * "freezer.freeze"
>
> writing 1 will freeze all tasks and 0 unfreeze
> reading will return the status of the freezer
>
> * "freezer.kill"
>
> writing <n> will send signal number <n> to all tasks
>
> * Usage :
>
> # mkdir /containers/freezer
> # mount -t container -ofreezer freezer /containers/freezer
> # mkdir /containers/freezer/0
> # echo $some_pid > /containers/freezer/0/tasks
I'd like to point out that by composing this with the nsproxy subsystem
(which I've done and tested), you can
mount -t container -ons,freezer nsproxy /containers/freezer
Then you get a new freezer subsystem automatically for every unshare
that you do, avoiding the need to to manually do
echo $some_pid > /containers/freezer/0/tasks
thanks,
-serge
> to get status of the freezer subsystem :
>
> # cat /containers/freezer/0/freezer.freeze
> RUNNING
>
> to freeze all tasks in the container :
>
> # echo 1 > /containers/freezer/0/freezer.freeze
> # cat /containers/freezer/0/freezer.freeze
> FREEZING
> # cat /containers/freezer/0/freezer.freeze
> FROZEN
>
> to unfreeze all tasks in the container :
>
> # echo 1 > /containers/freezer/0/freezer.freeze
> # cat /containers/freezer/0/freezer.freeze
> RUNNING
>
> to kill all tasks in the container :
>
> # echo 9 > /containers/freezer/0/freezer.kill
>
> * Caveats:
>
> - the FROZEN status is calculated and changed when the container
> file "freezer.freeze" is read.
> - frozen containers will be unfreeze when a system is resumed after
> a suspend. This is addressed by the last patch.
>
> * Series
>
> The first patches make the freezer available to all architectures
> before implementing the freezer subsystem.
>
> - add the TIF_FREEZE flag to all archs
> - make refrigerator() available to all archs
> - implement freezer subsystem
> - do not unfreeze a frozen container when the system is resumed
>
> Comments are welcome.
>
> Thanks,
>
> C.
> _______________________________________________
> Containers mailing list
> Containers at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list