tree: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup-reorg head: 8a6dc1a57dc250394be839aeb7741dc351e84da7 commit: 8a6dc1a57dc250394be839aeb7741dc351e84da7 [13/13] cgroup: move namespace code to kernel/cgroup/namespace.c config: i386-randconfig-s1-201651 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout 8a6dc1a57dc250394be839aeb7741dc351e84da7 # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from include/linux/seqlock.h:35:0, from include/linux/time.h:5, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/cgroup.c:31: kernel/cgroup/cgroup-internal.h: In function 'put_css_set': >> kernel/cgroup/cgroup-internal.h:80:21: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irqsave(&css_set_lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ >> kernel/cgroup/cgroup-internal.h:80:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&css_set_lock, flags); ^~~~~~~~~~~~~~~~~ kernel/cgroup/cgroup-internal.h:80:21: note: each undeclared identifier is reported only once for each function it appears in spin_lock_irqsave(&css_set_lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ >> kernel/cgroup/cgroup-internal.h:80:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&css_set_lock, flags); ^~~~~~~~~~~~~~~~~ -- In file included from include/linux/seqlock.h:35:0, from include/linux/time.h:5, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/namespace.c:1: kernel/cgroup/cgroup-internal.h: In function 'put_css_set': >> kernel/cgroup/cgroup-internal.h:80:21: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irqsave(&css_set_lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ >> kernel/cgroup/cgroup-internal.h:80:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&css_set_lock, flags); ^~~~~~~~~~~~~~~~~ kernel/cgroup/cgroup-internal.h:80:21: note: each undeclared identifier is reported only once for each function it appears in spin_lock_irqsave(&css_set_lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ >> kernel/cgroup/cgroup-internal.h:80:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&css_set_lock, flags); ^~~~~~~~~~~~~~~~~ kernel/cgroup/namespace.c: In function 'copy_cgroup_ns': >> kernel/cgroup/namespace.c:73:17: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irq(&css_set_lock); ^~~~~~~~~~~~ -- In file included from include/linux/seqlock.h:35:0, from include/linux/time.h:5, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/cgroup-v1.c:1: kernel/cgroup/cgroup-internal.h: In function 'put_css_set': >> kernel/cgroup/cgroup-internal.h:80:21: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irqsave(&css_set_lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ >> kernel/cgroup/cgroup-internal.h:80:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&css_set_lock, flags); ^~~~~~~~~~~~~~~~~ kernel/cgroup/cgroup-internal.h:80:21: note: each undeclared identifier is reported only once for each function it appears in spin_lock_irqsave(&css_set_lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ >> kernel/cgroup/cgroup-internal.h:80:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&css_set_lock, flags); ^~~~~~~~~~~~~~~~~ In file included from arch/x86/include/asm/mmu.h:5:0, from include/linux/mm_types.h:17, from include/linux/sched.h:27, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/cgroup-v1.c:1: kernel/cgroup/cgroup-v1.c: In function 'cgroup_attach_task_all': kernel/cgroup/cgroup-v1.c:54:14: error: 'cgroup_mutex' undeclared (first use in this function) mutex_lock(&cgroup_mutex); ^ include/linux/mutex.h:160:44: note: in definition of macro 'mutex_lock' #define mutex_lock(lock) mutex_lock_nested(lock, 0) ^~~~ kernel/cgroup/cgroup-v1.c:62:18: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irq(&css_set_lock); ^~~~~~~~~~~~ In file included from arch/x86/include/asm/mmu.h:5:0, from include/linux/mm_types.h:17, from include/linux/sched.h:27, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/cgroup-v1.c:1: kernel/cgroup/cgroup-v1.c: In function 'cgroup_transfer_tasks': kernel/cgroup/cgroup-v1.c:102:14: error: 'cgroup_mutex' undeclared (first use in this function) mutex_lock(&cgroup_mutex); ^ include/linux/mutex.h:160:44: note: in definition of macro 'mutex_lock' #define mutex_lock(lock) mutex_lock_nested(lock, 0) ^~~~ kernel/cgroup/cgroup-v1.c:107:17: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irq(&css_set_lock); ^~~~~~~~~~~~ kernel/cgroup/cgroup-v1.c: In function 'cgroup_task_count': kernel/cgroup/cgroup-v1.c:344:17: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irq(&css_set_lock); ^~~~~~~~~~~~ In file included from arch/x86/include/asm/mmu.h:5:0, from include/linux/mm_types.h:17, from include/linux/sched.h:27, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/cgroup-v1.c:1: kernel/cgroup/cgroup-v1.c: In function 'proc_cgroupstats_show': kernel/cgroup/cgroup-v1.c:644:14: error: 'cgroup_mutex' undeclared (first use in this function) mutex_lock(&cgroup_mutex); ^ include/linux/mutex.h:160:44: note: in definition of macro 'mutex_lock' #define mutex_lock(lock) mutex_lock_nested(lock, 0) ^~~~ kernel/cgroup/cgroup-v1.c: In function 'cgroupstats_build': kernel/cgroup/cgroup-v1.c:689:14: error: 'cgroup_mutex' undeclared (first use in this function) mutex_lock(&cgroup_mutex); ^ include/linux/mutex.h:160:44: note: in definition of macro 'mutex_lock' #define mutex_lock(lock) mutex_lock_nested(lock, 0) ^~~~ kernel/cgroup/cgroup-v1.c: In function 'cgroup1_release_agent': kernel/cgroup/cgroup-v1.c:770:14: error: 'cgroup_mutex' undeclared (first use in this function) mutex_lock(&cgroup_mutex); ^ include/linux/mutex.h:160:44: note: in definition of macro 'mutex_lock' #define mutex_lock(lock) mutex_lock_nested(lock, 0) ^~~~ kernel/cgroup/cgroup-v1.c:777:17: error: 'css_set_lock' undeclared (first use in this function) spin_lock_irq(&css_set_lock); ^~~~~~~~~~~~ In file included from arch/x86/include/asm/mmu.h:5:0, from include/linux/mm_types.h:17, from include/linux/sched.h:27, from include/linux/cgroup.h:11, from kernel/cgroup/cgroup-internal.h:4, from kernel/cgroup/cgroup-v1.c:1: kernel/cgroup/cgroup-v1.c: In function 'cgroup1_rename': kernel/cgroup/cgroup-v1.c:824:14: error: 'cgroup_mutex' undeclared (first use in this function) mutex_lock(&cgroup_mutex); ^ include/linux/mutex.h:160:44: note: in definition of macro 'mutex_lock' #define mutex_lock(lock) mutex_lock_nested(lock, 0) ^~~~ kernel/cgroup/cgroup-v1.c: In function 'cgroup1_remount': kernel/cgroup/cgroup-v1.c:1049:16: error: 'cgroup_mutex' undeclared (first use in this function) mutex_unlock(&cgroup_mutex); ^~~~~~~~~~~~ kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': kernel/cgroup/cgroup-v1.c:1093:18: error: 'cgroup_mutex' undeclared (first use in this function) mutex_unlock(&cgroup_mutex); ^~~~~~~~~~~~ vim +/css_set_lock +80 kernel/cgroup/cgroup-internal.h 1 #ifndef __CGROUP_INTERNAL_H 2 #define __CGROUP_INTERNAL_H 3 > 4 #include <linux/cgroup.h> 5 #include <linux/kernfs.h> 6 #include <linux/workqueue.h> 7 #include <linux/list.h> 8 9 /* 10 * A cgroup can be associated with multiple css_sets as different tasks may 11 * belong to different cgroups on different hierarchies. In the other 12 * direction, a css_set is naturally associated with multiple cgroups. 13 * This M:N relationship is represented by the following link structure 14 * which exists for each association and allows traversing the associations 15 * from both sides. 16 */ 17 struct cgrp_cset_link { 18 /* the cgroup and css_set this link associates */ 19 struct cgroup *cgrp; 20 struct css_set *cset; 21 22 /* list of cgrp_cset_links anchored at cgrp->cset_links */ 23 struct list_head cset_link; 24 25 /* list of cgrp_cset_links anchored at css_set->cgrp_links */ 26 struct list_head cgrp_link; 27 }; 28 29 struct cgroup_sb_opts { 30 u16 subsys_mask; 31 unsigned int flags; 32 char *release_agent; 33 bool cpuset_clone_children; 34 char *name; 35 /* User explicitly requested empty subsystem */ 36 bool none; 37 }; 38 39 extern struct cgroup_subsys *cgroup_subsys[]; 40 extern struct list_head cgroup_roots; 41 extern struct file_system_type cgroup_fs_type; 42 43 /* iterate across the hierarchies */ 44 #define for_each_root(root) \ 45 list_for_each_entry((root), &cgroup_roots, root_list) 46 47 /** 48 * for_each_subsys - iterate all enabled cgroup subsystems 49 * @ss: the iteration cursor 50 * @ssid: the index of @ss, CGROUP_SUBSYS_COUNT after reaching the end 51 */ 52 #define for_each_subsys(ss, ssid) \ 53 for ((ssid) = 0; (ssid) < CGROUP_SUBSYS_COUNT && \ 54 (((ss) = cgroup_subsys[ssid]) || true); (ssid)++) 55 56 static inline bool cgroup_is_dead(const struct cgroup *cgrp) 57 { 58 return !(cgrp->self.flags & CSS_ONLINE); 59 } 60 61 static inline bool notify_on_release(const struct cgroup *cgrp) 62 { 63 return test_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); 64 } 65 66 void put_css_set_locked(struct css_set *cset); 67 68 static inline void put_css_set(struct css_set *cset) 69 { 70 unsigned long flags; 71 72 /* 73 * Ensure that the refcount doesn't hit zero while any readers 74 * can see it. Similar to atomic_dec_and_lock(), but for an 75 * rwlock 76 */ 77 if (atomic_add_unless(&cset->refcount, -1, 1)) 78 return; 79 > 80 spin_lock_irqsave(&css_set_lock, flags); 81 put_css_set_locked(cset); 82 spin_unlock_irqrestore(&css_set_lock, flags); 83 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip