cgroup: move struct cgroup_pidlist out from the header file
It's internally used only. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
a63b9072ea
commit
245282557c
|
@ -160,38 +160,6 @@ enum {
|
||||||
CGRP_CLONE_CHILDREN,
|
CGRP_CLONE_CHILDREN,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* which pidlist file are we talking about? */
|
|
||||||
enum cgroup_filetype {
|
|
||||||
CGROUP_FILE_PROCS,
|
|
||||||
CGROUP_FILE_TASKS,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A pidlist is a list of pids that virtually represents the contents of one
|
|
||||||
* of the cgroup files ("procs" or "tasks"). We keep a list of such pidlists,
|
|
||||||
* a pair (one each for procs, tasks) for each pid namespace that's relevant
|
|
||||||
* to the cgroup.
|
|
||||||
*/
|
|
||||||
struct cgroup_pidlist {
|
|
||||||
/*
|
|
||||||
* used to find which pidlist is wanted. doesn't change as long as
|
|
||||||
* this particular list stays in the list.
|
|
||||||
*/
|
|
||||||
struct { enum cgroup_filetype type; struct pid_namespace *ns; } key;
|
|
||||||
/* array of xids */
|
|
||||||
pid_t *list;
|
|
||||||
/* how many elements the above list has */
|
|
||||||
int length;
|
|
||||||
/* how many files are using the current array */
|
|
||||||
int use_count;
|
|
||||||
/* each of these stored in a list by its cgroup */
|
|
||||||
struct list_head links;
|
|
||||||
/* pointer to the cgroup we belong to, for list removal purposes */
|
|
||||||
struct cgroup *owner;
|
|
||||||
/* protects the other fields */
|
|
||||||
struct rw_semaphore mutex;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct cgroup {
|
struct cgroup {
|
||||||
unsigned long flags; /* "unsigned long" so bitops work */
|
unsigned long flags; /* "unsigned long" so bitops work */
|
||||||
|
|
||||||
|
|
|
@ -3043,6 +3043,38 @@ int cgroup_scan_tasks(struct cgroup_scanner *scan)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* which pidlist file are we talking about? */
|
||||||
|
enum cgroup_filetype {
|
||||||
|
CGROUP_FILE_PROCS,
|
||||||
|
CGROUP_FILE_TASKS,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A pidlist is a list of pids that virtually represents the contents of one
|
||||||
|
* of the cgroup files ("procs" or "tasks"). We keep a list of such pidlists,
|
||||||
|
* a pair (one each for procs, tasks) for each pid namespace that's relevant
|
||||||
|
* to the cgroup.
|
||||||
|
*/
|
||||||
|
struct cgroup_pidlist {
|
||||||
|
/*
|
||||||
|
* used to find which pidlist is wanted. doesn't change as long as
|
||||||
|
* this particular list stays in the list.
|
||||||
|
*/
|
||||||
|
struct { enum cgroup_filetype type; struct pid_namespace *ns; } key;
|
||||||
|
/* array of xids */
|
||||||
|
pid_t *list;
|
||||||
|
/* how many elements the above list has */
|
||||||
|
int length;
|
||||||
|
/* how many files are using the current array */
|
||||||
|
int use_count;
|
||||||
|
/* each of these stored in a list by its cgroup */
|
||||||
|
struct list_head links;
|
||||||
|
/* pointer to the cgroup we belong to, for list removal purposes */
|
||||||
|
struct cgroup *owner;
|
||||||
|
/* protects the other fields */
|
||||||
|
struct rw_semaphore mutex;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following two functions "fix" the issue where there are more pids
|
* The following two functions "fix" the issue where there are more pids
|
||||||
* than kmalloc will give memory for; in such cases, we use vmalloc/vfree.
|
* than kmalloc will give memory for; in such cases, we use vmalloc/vfree.
|
||||||
|
|
Loading…
Reference in New Issue