提交 d20a390a 编写于 作者: P Paul Menage 提交者: Linus Torvalds

cgroups: fix cgroup.h comments

Fix the style of some multi-line comments in cgroup.h to match
Documentation/CodingStyle
Signed-off-by: NPaul Menage <menage@google.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 45dad7bd
...@@ -47,14 +47,18 @@ enum cgroup_subsys_id { ...@@ -47,14 +47,18 @@ enum cgroup_subsys_id {
/* Per-subsystem/per-cgroup state maintained by the system. */ /* Per-subsystem/per-cgroup state maintained by the system. */
struct cgroup_subsys_state { struct cgroup_subsys_state {
/* The cgroup that this subsystem is attached to. Useful /*
* The cgroup that this subsystem is attached to. Useful
* for subsystems that want to know about the cgroup * for subsystems that want to know about the cgroup
* hierarchy structure */ * hierarchy structure
*/
struct cgroup *cgroup; struct cgroup *cgroup;
/* State maintained by the cgroup system to allow subsystems /*
* State maintained by the cgroup system to allow subsystems
* to be "busy". Should be accessed via css_get(), * to be "busy". Should be accessed via css_get(),
* css_tryget() and and css_put(). */ * css_tryget() and and css_put().
*/
atomic_t refcnt; atomic_t refcnt;
...@@ -120,8 +124,10 @@ static inline void css_put(struct cgroup_subsys_state *css) ...@@ -120,8 +124,10 @@ static inline void css_put(struct cgroup_subsys_state *css)
enum { enum {
/* Control Group is dead */ /* Control Group is dead */
CGRP_REMOVED, CGRP_REMOVED,
/* Control Group has previously had a child cgroup or a task, /*
* but no longer (only if CGRP_NOTIFY_ON_RELEASE is set) */ * Control Group has previously had a child cgroup or a task,
* but no longer (only if CGRP_NOTIFY_ON_RELEASE is set)
*/
CGRP_RELEASABLE, CGRP_RELEASABLE,
/* Control Group requires release notifications to userspace */ /* Control Group requires release notifications to userspace */
CGRP_NOTIFY_ON_RELEASE, CGRP_NOTIFY_ON_RELEASE,
...@@ -130,9 +136,10 @@ enum { ...@@ -130,9 +136,10 @@ enum {
struct cgroup { struct cgroup {
unsigned long flags; /* "unsigned long" so bitops work */ unsigned long flags; /* "unsigned long" so bitops work */
/* count users of this cgroup. >0 means busy, but doesn't /*
* necessarily indicate the number of tasks in the * count users of this cgroup. >0 means busy, but doesn't
* cgroup */ * necessarily indicate the number of tasks in the cgroup
*/
atomic_t count; atomic_t count;
/* /*
...@@ -142,7 +149,7 @@ struct cgroup { ...@@ -142,7 +149,7 @@ struct cgroup {
struct list_head sibling; /* my parent's children */ struct list_head sibling; /* my parent's children */
struct list_head children; /* my children */ struct list_head children; /* my children */
struct cgroup *parent; /* my parent */ struct cgroup *parent; /* my parent */
struct dentry *dentry; /* cgroup fs entry, RCU protected */ struct dentry *dentry; /* cgroup fs entry, RCU protected */
/* Private pointers for each registered subsystem */ /* Private pointers for each registered subsystem */
...@@ -177,11 +184,12 @@ struct cgroup { ...@@ -177,11 +184,12 @@ struct cgroup {
struct rcu_head rcu_head; struct rcu_head rcu_head;
}; };
/* A css_set is a structure holding pointers to a set of /*
* A css_set is a structure holding pointers to a set of
* cgroup_subsys_state objects. This saves space in the task struct * cgroup_subsys_state objects. This saves space in the task struct
* object and speeds up fork()/exit(), since a single inc/dec and a * object and speeds up fork()/exit(), since a single inc/dec and a
* list_add()/del() can bump the reference count on the entire * list_add()/del() can bump the reference count on the entire cgroup
* cgroup set for a task. * set for a task.
*/ */
struct css_set { struct css_set {
...@@ -226,13 +234,8 @@ struct cgroup_map_cb { ...@@ -226,13 +234,8 @@ struct cgroup_map_cb {
void *state; void *state;
}; };
/* struct cftype: /*
* * struct cftype: handler definitions for cgroup control files
* The files in the cgroup filesystem mostly have a very simple read/write
* handling, some common function will take care of it. Nevertheless some cases
* (read tasks) are special and therefore I define this structure for every
* kind of file.
*
* *
* When reading/writing to a file: * When reading/writing to a file:
* - the cgroup to use is file->f_dentry->d_parent->d_fsdata * - the cgroup to use is file->f_dentry->d_parent->d_fsdata
...@@ -241,8 +244,10 @@ struct cgroup_map_cb { ...@@ -241,8 +244,10 @@ struct cgroup_map_cb {
#define MAX_CFTYPE_NAME 64 #define MAX_CFTYPE_NAME 64
struct cftype { struct cftype {
/* By convention, the name should begin with the name of the /*
* subsystem, followed by a period */ * By convention, the name should begin with the name of the
* subsystem, followed by a period
*/
char name[MAX_CFTYPE_NAME]; char name[MAX_CFTYPE_NAME];
int private; int private;
...@@ -321,13 +326,17 @@ struct cgroup_scanner { ...@@ -321,13 +326,17 @@ struct cgroup_scanner {
struct ptr_heap *heap; struct ptr_heap *heap;
}; };
/* Add a new file to the given cgroup directory. Should only be /*
* called by subsystems from within a populate() method */ * Add a new file to the given cgroup directory. Should only be
* called by subsystems from within a populate() method
*/
int cgroup_add_file(struct cgroup *cgrp, struct cgroup_subsys *subsys, int cgroup_add_file(struct cgroup *cgrp, struct cgroup_subsys *subsys,
const struct cftype *cft); const struct cftype *cft);
/* Add a set of new files to the given cgroup directory. Should /*
* only be called by subsystems from within a populate() method */ * Add a set of new files to the given cgroup directory. Should
* only be called by subsystems from within a populate() method
*/
int cgroup_add_files(struct cgroup *cgrp, int cgroup_add_files(struct cgroup *cgrp,
struct cgroup_subsys *subsys, struct cgroup_subsys *subsys,
const struct cftype cft[], const struct cftype cft[],
...@@ -419,7 +428,8 @@ struct cgroup_iter { ...@@ -419,7 +428,8 @@ struct cgroup_iter {
struct list_head *task; struct list_head *task;
}; };
/* To iterate across the tasks in a cgroup: /*
* To iterate across the tasks in a cgroup:
* *
* 1) call cgroup_iter_start to intialize an iterator * 1) call cgroup_iter_start to intialize an iterator
* *
...@@ -428,9 +438,10 @@ struct cgroup_iter { ...@@ -428,9 +438,10 @@ struct cgroup_iter {
* *
* 3) call cgroup_iter_end() to destroy the iterator. * 3) call cgroup_iter_end() to destroy the iterator.
* *
* Or, call cgroup_scan_tasks() to iterate through every task in a cpuset. * Or, call cgroup_scan_tasks() to iterate through every task in a
* - cgroup_scan_tasks() holds the css_set_lock when calling the test_task() * cgroup - cgroup_scan_tasks() holds the css_set_lock when calling
* callback, but not while calling the process_task() callback. * the test_task() callback, but not while calling the process_task()
* callback.
*/ */
void cgroup_iter_start(struct cgroup *cgrp, struct cgroup_iter *it); void cgroup_iter_start(struct cgroup *cgrp, struct cgroup_iter *it);
struct task_struct *cgroup_iter_next(struct cgroup *cgrp, struct task_struct *cgroup_iter_next(struct cgroup *cgrp,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册