Re: [RFC][PATCH 0/4] Container Freezer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Cedric Le Goater (clg@xxxxxxxxxx):
> 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@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linux-foundation.org/mailman/listinfo/containers
_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux