[Devel] Re: [PATCH 4/4] freezer_cg: simplify freezer_change_state()
Cedric Le Goater
clg at fr.ibm.com
Tue Oct 21 02:53:22 PDT 2008
Li Zefan wrote:
> Just call unfreeze_cgroup() if goal_state == THAWED, and call
> try_to_freeze_cgroup() if goal_state == FROZEN.
>
> No behavior has been changed.
Looks good.
Acked-by: Cedric Le Goater <clg at fr.ibm.com>
thanks,
C.
>
> Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
> ---
> kernel/cgroup_freezer.c | 19 +++++++------------
> 1 files changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/kernel/cgroup_freezer.c b/kernel/cgroup_freezer.c
> index 3ea57e4..cdef2d8 100644
> --- a/kernel/cgroup_freezer.c
> +++ b/kernel/cgroup_freezer.c
> @@ -296,27 +296,22 @@ static int freezer_change_state(struct cgroup *cgroup,
> int retval = 0;
>
> freezer = cgroup_freezer(cgroup);
> +
> spin_lock_irq(&freezer->lock);
> +
> update_freezer_state(cgroup, freezer);
> if (goal_state == freezer->state)
> goto out;
> - switch (freezer->state) {
> +
> + switch (goal_state) {
> case CGROUP_THAWED:
> - retval = try_to_freeze_cgroup(cgroup, freezer);
> + unfreeze_cgroup(cgroup, freezer);
> break;
> - case CGROUP_FREEZING:
> - if (goal_state == CGROUP_FROZEN) {
> - /* Userspace is retrying after
> - * "/bin/echo FROZEN > freezer.state" returned -EBUSY */
> - retval = try_to_freeze_cgroup(cgroup, freezer);
> - break;
> - }
> - /* state == FREEZING and goal_state == THAWED, so unfreeze */
> case CGROUP_FROZEN:
> - unfreeze_cgroup(cgroup, freezer);
> + retval = try_to_freeze_cgroup(cgroup, freezer);
> break;
> default:
> - break;
> + BUG();
> }
> out:
> spin_unlock_irq(&freezer->lock);
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list