Messages in this thread | | | Date | Sun, 26 Mar 2017 04:08:05 +0800 | From | kbuild test robot <> | Subject | [rcu:rcu/next 53/55] include/linux/srcu.h:60:28: error: linux/srcutiny.h: No such file or directory |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next head: 8ef41abc6267ab874db4f767866cc09b85a1f951 commit: c574d9a57769f1941153c41e5cfcd2bb13911cc3 [53/55] srcu: Create a tiny SRCU config: x86_64-randconfig-a0-03260238 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: git checkout c574d9a57769f1941153c41e5cfcd2bb13911cc3 # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
In file included from include/linux/notifier.h:15, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:749, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: >> include/linux/srcu.h:60:28: error: linux/srcutiny.h: No such file or directory In file included from include/linux/notifier.h:15, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:749, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: include/linux/srcu.h: In function 'srcu_read_lock_held': >> include/linux/srcu.h:113: error: dereferencing pointer to incomplete type include/linux/srcu.h: In function 'srcu_read_lock': include/linux/srcu.h:176: error: dereferencing pointer to incomplete type include/linux/srcu.h: In function 'srcu_read_unlock': include/linux/srcu.h:190: error: dereferencing pointer to incomplete type In file included from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:749, from include/linux/gfp.h:5, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: include/linux/notifier.h: At top level: >> include/linux/notifier.h:77: error: field 'srcu' has incomplete type make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2
vim +60 include/linux/srcu.h
54 int init_srcu_struct(struct srcu_struct *sp); 55 56 #define __SRCU_DEP_MAP_INIT(srcu_name) 57 #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ 58 59 #ifdef CONFIG_TINY_SRCU > 60 #include <linux/srcutiny.h> 61 #elif defined(CONFIG_TREE_SRCU) 62 #include <linux/srcutree.h> 63 #else 64 #error "Unknown SRCU implementation specified to kernel configuration" 65 #endif 66 67 /** 68 * call_srcu() - Queue a callback for invocation after an SRCU grace period 69 * @sp: srcu_struct in queue the callback 70 * @head: structure to be used for queueing the SRCU callback. 71 * @func: function to be invoked after the SRCU grace period 72 * 73 * The callback function will be invoked some time after a full SRCU 74 * grace period elapses, in other words after all pre-existing SRCU 75 * read-side critical sections have completed. However, the callback 76 * function might well execute concurrently with other SRCU read-side 77 * critical sections that started after call_srcu() was invoked. SRCU 78 * read-side critical sections are delimited by srcu_read_lock() and 79 * srcu_read_unlock(), and may be nested. 80 * 81 * The callback will be invoked from process context, but must nevertheless 82 * be fast and must not block. 83 */ 84 void call_srcu(struct srcu_struct *sp, struct rcu_head *head, 85 void (*func)(struct rcu_head *head)); 86 87 void cleanup_srcu_struct(struct srcu_struct *sp); 88 int __srcu_read_lock(struct srcu_struct *sp) __acquires(sp); 89 void __srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp); 90 void synchronize_srcu(struct srcu_struct *sp); 91 92 #ifdef CONFIG_DEBUG_LOCK_ALLOC 93 94 /** 95 * srcu_read_lock_held - might we be in SRCU read-side critical section? 96 * 97 * If CONFIG_DEBUG_LOCK_ALLOC is selected, returns nonzero iff in an SRCU 98 * read-side critical section. In absence of CONFIG_DEBUG_LOCK_ALLOC, 99 * this assumes we are in an SRCU read-side critical section unless it can 100 * prove otherwise. 101 * 102 * Checks debug_lockdep_rcu_enabled() to prevent false positives during boot 103 * and while lockdep is disabled. 104 * 105 * Note that SRCU is based on its own statemachine and it doesn't 106 * relies on normal RCU, it can be called from the CPU which 107 * is in the idle loop from an RCU point of view or offline. 108 */ 109 static inline int srcu_read_lock_held(struct srcu_struct *sp) 110 { 111 if (!debug_lockdep_rcu_enabled()) 112 return 1; > 113 return lock_is_held(&sp->dep_map); 114 } 115 116 #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] | |