Re: [PATCH 4/4] freezer_cg: simplify freezer_change_state()

From: Cedric Le Goater
Date: Tue Oct 21 2008 - 05:53:38 EST


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@xxxxxxxxxx>

thanks,

C.

>
> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
> ---
> 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);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/