tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev head: 0028a1e4fdbb4263539595da08979d59954d4873 commit: 0028a1e4fdbb4263539595da08979d59954d4873 [110/110] rcu: Apply RCU-bh QSes to RCU-sched and RCU-preempt when safe config: x86_64-randconfig-i0-201825 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: git checkout 0028a1e4fdbb4263539595da08979d59954d4873 # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>): kernel/softirq.o: In function `__do_softirq': >> kernel/softirq.c:298: undefined reference to `rcu_softirq_qs' vim +298 kernel/softirq.c 240 241 asmlinkage __visible void __softirq_entry __do_softirq(void) 242 { 243 unsigned long end = jiffies + MAX_SOFTIRQ_TIME; 244 unsigned long old_flags = current->flags; 245 int max_restart = MAX_SOFTIRQ_RESTART; 246 struct softirq_action *h; 247 bool in_hardirq; 248 __u32 pending; 249 int softirq_bit; 250 251 /* 252 * Mask out PF_MEMALLOC s current task context is borrowed for the 253 * softirq. A softirq handled such as network RX might set PF_MEMALLOC 254 * again if the socket is related to swap 255 */ 256 current->flags &= ~PF_MEMALLOC; 257 258 pending = local_softirq_pending(); 259 account_irq_enter_time(current); 260 261 __local_bh_disable_ip(_RET_IP_, SOFTIRQ_OFFSET); 262 in_hardirq = lockdep_softirq_start(); 263 264 restart: 265 /* Reset the pending bitmask before enabling irqs */ 266 set_softirq_pending(0); 267 268 local_irq_enable(); 269 270 h = softirq_vec; 271 272 while ((softirq_bit = ffs(pending))) { 273 unsigned int vec_nr; 274 int prev_count; 275 276 h += softirq_bit - 1; 277 278 vec_nr = h - softirq_vec; 279 prev_count = preempt_count(); 280 281 kstat_incr_softirqs_this_cpu(vec_nr); 282 283 trace_softirq_entry(vec_nr); 284 h->action(h); 285 trace_softirq_exit(vec_nr); 286 if (unlikely(prev_count != preempt_count())) { 287 pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n", 288 vec_nr, softirq_to_name[vec_nr], h->action, 289 prev_count, preempt_count()); 290 preempt_count_set(prev_count); 291 } 292 h++; 293 pending >>= softirq_bit; 294 } 295 296 rcu_bh_qs(); 297 if (__this_cpu_read(ksoftirqd) == current) > 298 rcu_softirq_qs(); 299 local_irq_disable(); 300 301 pending = local_softirq_pending(); 302 if (pending) { 303 if (time_before(jiffies, end) && !need_resched() && 304 --max_restart) 305 goto restart; 306 307 wakeup_softirqd(); 308 } 309 310 lockdep_softirq_end(in_hardirq); 311 account_irq_exit_time(current); 312 __local_bh_enable(SOFTIRQ_OFFSET); 313 WARN_ON_ONCE(in_interrupt()); 314 current_restore_flags(old_flags, PF_MEMALLOC); 315 } 316 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip