]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/cgroup.h
cgroups: use a hash table for css_set finding
[linux-2.6-omap-h63xx.git] / include / linux / cgroup.h
index b40fd5ee9a76e58bffabeaf8143622744126cb5f..f585b7cde87b32191351204caaa3a4352e942a6c 100644 (file)
@@ -155,6 +155,12 @@ struct css_set {
         */
        struct list_head list;
 
+       /*
+        * List running through all cgroup groups in the same hash
+        * slot. Protected by css_set_lock
+        */
+       struct hlist_node hlist;
+
        /*
         * List running through all tasks using this cgroup
         * group. Protected by css_set_lock
@@ -174,7 +180,6 @@ struct css_set {
         * during subsystem registration (at boot time).
         */
        struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT];
-
 };
 
 /*
@@ -215,6 +220,10 @@ struct cftype {
         * single integer. Use it in place of read()
         */
        u64 (*read_u64) (struct cgroup *cgrp, struct cftype *cft);
+       /*
+        * read_s64() is a signed version of read_u64()
+        */
+       s64 (*read_s64) (struct cgroup *cgrp, struct cftype *cft);
        /*
         * read_map() is used for defining a map of key/value
         * pairs. It should call cb->fill(cb, key, value) for each
@@ -234,6 +243,18 @@ struct cftype {
         * userspace. Use in place of write(); return 0 or error.
         */
        int (*write_u64) (struct cgroup *cgrp, struct cftype *cft, u64 val);
+       /*
+        * write_s64() is a signed version of write_u64()
+        */
+       int (*write_s64) (struct cgroup *cgrp, struct cftype *cft, s64 val);
+
+       /*
+        * trigger() callback can be used to get some kick from the
+        * userspace, when the actual string written is not important
+        * at all. The private field can be used to determine the
+        * kick type for multiplexing.
+        */
+       int (*trigger)(struct cgroup *cgrp, unsigned int event);
 
        int (*release) (struct inode *inode, struct file *file);
 };