]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/cgroup_freezer.c
cgroup_freezer: trivial cleanups
[karo-tx-linux.git] / kernel / cgroup_freezer.c
index bedefd9a22df477f25501663e3c05e40dee353b1..975b3d8732f40aab988edf42c5c8d03dd9add86e 100644 (file)
@@ -29,17 +29,15 @@ enum freezer_state {
 };
 
 struct freezer {
-       struct cgroup_subsys_state css;
-       enum freezer_state state;
-       spinlock_t lock; /* protects _writes_ to state */
+       struct cgroup_subsys_state      css;
+       enum freezer_state              state;
+       spinlock_t                      lock;
 };
 
-static inline struct freezer *cgroup_freezer(
-               struct cgroup *cgroup)
+static inline struct freezer *cgroup_freezer(struct cgroup *cgroup)
 {
-       return container_of(
-               cgroup_subsys_state(cgroup, freezer_subsys_id),
-               struct freezer, css);
+       return container_of(cgroup_subsys_state(cgroup, freezer_subsys_id),
+                           struct freezer, css);
 }
 
 static inline struct freezer *task_freezer(struct task_struct *task)
@@ -180,8 +178,9 @@ out:
  * migrated into or out of @cgroup, so we can't verify task states against
  * @freezer state here.  See freezer_attach() for details.
  */
-static void update_if_frozen(struct cgroup *cgroup, struct freezer *freezer)
+static void update_if_frozen(struct freezer *freezer)
 {
+       struct cgroup *cgroup = freezer->css.cgroup;
        struct cgroup_iter it;
        struct task_struct *task;
 
@@ -211,12 +210,11 @@ notyet:
 static int freezer_read(struct cgroup *cgroup, struct cftype *cft,
                        struct seq_file *m)
 {
-       struct freezer *freezer;
+       struct freezer *freezer = cgroup_freezer(cgroup);
        enum freezer_state state;
 
-       freezer = cgroup_freezer(cgroup);
        spin_lock_irq(&freezer->lock);
-       update_if_frozen(cgroup, freezer);
+       update_if_frozen(freezer);
        state = freezer->state;
        spin_unlock_irq(&freezer->lock);
 
@@ -225,8 +223,9 @@ static int freezer_read(struct cgroup *cgroup, struct cftype *cft,
        return 0;
 }
 
-static void freeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
+static void freeze_cgroup(struct freezer *freezer)
 {
+       struct cgroup *cgroup = freezer->css.cgroup;
        struct cgroup_iter it;
        struct task_struct *task;
 
@@ -236,8 +235,9 @@ static void freeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
        cgroup_iter_end(cgroup, &it);
 }
 
-static void unfreeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
+static void unfreeze_cgroup(struct freezer *freezer)
 {
+       struct cgroup *cgroup = freezer->css.cgroup;
        struct cgroup_iter it;
        struct task_struct *task;
 
@@ -247,11 +247,9 @@ static void unfreeze_cgroup(struct cgroup *cgroup, struct freezer *freezer)
        cgroup_iter_end(cgroup, &it);
 }
 
-static void freezer_change_state(struct cgroup *cgroup,
+static void freezer_change_state(struct freezer *freezer,
                                 enum freezer_state goal_state)
 {
-       struct freezer *freezer = cgroup_freezer(cgroup);
-
        /* also synchronizes against task migration, see freezer_attach() */
        spin_lock_irq(&freezer->lock);
 
@@ -260,13 +258,13 @@ static void freezer_change_state(struct cgroup *cgroup,
                if (freezer->state != CGROUP_THAWED)
                        atomic_dec(&system_freezing_cnt);
                freezer->state = CGROUP_THAWED;
-               unfreeze_cgroup(cgroup, freezer);
+               unfreeze_cgroup(freezer);
                break;
        case CGROUP_FROZEN:
                if (freezer->state == CGROUP_THAWED)
                        atomic_inc(&system_freezing_cnt);
                freezer->state = CGROUP_FREEZING;
-               freeze_cgroup(cgroup, freezer);
+               freeze_cgroup(freezer);
                break;
        default:
                BUG();
@@ -275,8 +273,7 @@ static void freezer_change_state(struct cgroup *cgroup,
        spin_unlock_irq(&freezer->lock);
 }
 
-static int freezer_write(struct cgroup *cgroup,
-                        struct cftype *cft,
+static int freezer_write(struct cgroup *cgroup, struct cftype *cft,
                         const char *buffer)
 {
        enum freezer_state goal_state;
@@ -288,7 +285,7 @@ static int freezer_write(struct cgroup *cgroup,
        else
                return -EINVAL;
 
-       freezer_change_state(cgroup, goal_state);
+       freezer_change_state(cgroup_freezer(cgroup), goal_state);
        return 0;
 }