[PATCH 1/3] Adds a read-only "procs" file similar to "tasks" that shows only unique tgids

Dave Hansen dave at linux.vnet.ibm.com
Tue Jul 14 11:34:30 PDT 2009


On Fri, 2009-07-10 at 16:01 -0700, Ben Blum wrote:
> +struct cgroup_pidlist {
> +       /* protects the other fields */
> +       struct rw_semaphore mutex;
> +       /* 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;
> +};

I think a slightly nicer way of doing this would be to use a structure
like this:

#define NR_PIDS (PAGE_SIZE-sizeof(struct list_head))
struct pid_list {
	struct list_head list;
	pid_t pids[NR_PIDS];
};

That way, you can always kmalloc(sizeof(pid_list)), it fits nicely in
PAGE_SIZE, and you can chain them together.

Or, you could always just use one of the other flexible structures in
the kernel like a radix_tree.

-- Dave



More information about the Containers mailing list