[cgroup:review-cgroup-reorg 13/13] kernel/cgroup/cgroup-internal.h:80:21: error: 'css_set_lock' undeclared

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux