tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev head: 6a586ef8dd6e7c29655734f471c6047b2fd1c88e commit: 6a586ef8dd6e7c29655734f471c6047b2fd1c88e [27/27] rcu: Suppress RCU CPU stall warnings while dumping trace config: x86_64-randconfig-in0-09050501 (attached as .config) compiler: gcc-4.6 (Debian 4.6.4-7) 4.6.4 reproduce: git checkout 6a586ef8dd6e7c29655734f471c6047b2fd1c88e # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
kernel/rcu/rcuperf.c: In function 'rcu_perf_writer':
>> kernel/rcu/rcuperf.c:482:5: error: 'rcu_cpu_stall_suppress' undeclared
>> (first use in this function)
kernel/rcu/rcuperf.c:482:5: note: each undeclared identifier is reported
only once for each function it appears in
vim +/rcu_cpu_stall_suppress +482 kernel/rcu/rcuperf.c
881ed593 Paul E. McKenney 2017-04-17 399
881ed593 Paul E. McKenney 2017-04-17 400 /*
8704baab Paul E. McKenney 2015-12-31 401 * RCU perf writer kthread.
Repeatedly does a grace period.
8704baab Paul E. McKenney 2015-12-31 402 */
8704baab Paul E. McKenney 2015-12-31 403 static int
8704baab Paul E. McKenney 2015-12-31 404 rcu_perf_writer(void *arg)
8704baab Paul E. McKenney 2015-12-31 405 {
8704baab Paul E. McKenney 2015-12-31 406 int i = 0;
8704baab Paul E. McKenney 2015-12-31 407 int i_max;
8704baab Paul E. McKenney 2015-12-31 408 long me = (long)arg;
881ed593 Paul E. McKenney 2017-04-17 409 struct rcu_head *rhp = NULL;
2094c995 Paul E. McKenney 2016-01-12 410 struct sched_param sp;
8704baab Paul E. McKenney 2015-12-31 411 bool started = false, done =
false, alldone = false;
8704baab Paul E. McKenney 2015-12-31 412 u64 t;
8704baab Paul E. McKenney 2015-12-31 413 u64 *wdp;
8704baab Paul E. McKenney 2015-12-31 414 u64 *wdpp =
writer_durations[me];
8704baab Paul E. McKenney 2015-12-31 415
8704baab Paul E. McKenney 2015-12-31 416
VERBOSE_PERFOUT_STRING("rcu_perf_writer task started");
8704baab Paul E. McKenney 2015-12-31 417 WARN_ON(!wdpp);
6b558c4c Paul E. McKenney 2016-01-12 418 set_cpus_allowed_ptr(current,
cpumask_of(me % nr_cpu_ids));
2094c995 Paul E. McKenney 2016-01-12 419 sp.sched_priority = 1;
2094c995 Paul E. McKenney 2016-01-12 420
sched_setscheduler_nocheck(current, SCHED_FIFO, &sp);
df37e66b Paul E. McKenney 2016-01-30 421
df37e66b Paul E. McKenney 2016-01-30 422 if (holdoff)
df37e66b Paul E. McKenney 2016-01-30 423
schedule_timeout_uninterruptible(holdoff * HZ);
df37e66b Paul E. McKenney 2016-01-30 424
8704baab Paul E. McKenney 2015-12-31 425 t = ktime_get_mono_fast_ns();
8704baab Paul E. McKenney 2015-12-31 426 if
(atomic_inc_return(&n_rcu_perf_writer_started) >= nrealwriters) {
8704baab Paul E. McKenney 2015-12-31 427
t_rcu_perf_writer_started = t;
8704baab Paul E. McKenney 2015-12-31 428 if (gp_exp) {
8704baab Paul E. McKenney 2015-12-31 429
b_rcu_perf_writer_started =
8704baab Paul E. McKenney 2015-12-31 430
cur_ops->exp_completed() / 2;
8704baab Paul E. McKenney 2015-12-31 431 } else {
8704baab Paul E. McKenney 2015-12-31 432
b_rcu_perf_writer_started =
8704baab Paul E. McKenney 2015-12-31 433
cur_ops->completed();
8704baab Paul E. McKenney 2015-12-31 434 }
8704baab Paul E. McKenney 2015-12-31 435 }
8704baab Paul E. McKenney 2015-12-31 436
8704baab Paul E. McKenney 2015-12-31 437 do {
820687a7 Paul E. McKenney 2017-04-25 438 if (writer_holdoff)
820687a7 Paul E. McKenney 2017-04-25 439
udelay(writer_holdoff);
8704baab Paul E. McKenney 2015-12-31 440 wdp = &wdpp[i];
8704baab Paul E. McKenney 2015-12-31 441 *wdp =
ktime_get_mono_fast_ns();
881ed593 Paul E. McKenney 2017-04-17 442 if (gp_async) {
881ed593 Paul E. McKenney 2017-04-17 443 retry:
881ed593 Paul E. McKenney 2017-04-17 444 if (!rhp)
881ed593 Paul E. McKenney 2017-04-17 445 rhp =
kmalloc(sizeof(*rhp), GFP_KERNEL);
881ed593 Paul E. McKenney 2017-04-17 446 if (rhp &&
atomic_read(this_cpu_ptr(&n_async_inflight)) < gp_async_max) {
881ed593 Paul E. McKenney 2017-04-17 447
rcu_perf_writer_state = RTWS_ASYNC;
881ed593 Paul E. McKenney 2017-04-17 448
atomic_inc(this_cpu_ptr(&n_async_inflight));
881ed593 Paul E. McKenney 2017-04-17 449
cur_ops->async(rhp, rcu_perf_async_cb);
881ed593 Paul E. McKenney 2017-04-17 450 rhp =
NULL;
881ed593 Paul E. McKenney 2017-04-17 451 } else if
(!kthread_should_stop()) {
881ed593 Paul E. McKenney 2017-04-17 452
rcu_perf_writer_state = RTWS_BARRIER;
881ed593 Paul E. McKenney 2017-04-17 453
cur_ops->gp_barrier();
881ed593 Paul E. McKenney 2017-04-17 454 goto
retry;
881ed593 Paul E. McKenney 2017-04-17 455 } else {
881ed593 Paul E. McKenney 2017-04-17 456
kfree(rhp); /* Because we are stopping. */
881ed593 Paul E. McKenney 2017-04-17 457 }
881ed593 Paul E. McKenney 2017-04-17 458 } else if (gp_exp) {
8704baab Paul E. McKenney 2015-12-31 459
rcu_perf_writer_state = RTWS_EXP_SYNC;
8704baab Paul E. McKenney 2015-12-31 460
cur_ops->exp_sync();
8704baab Paul E. McKenney 2015-12-31 461 } else {
8704baab Paul E. McKenney 2015-12-31 462
rcu_perf_writer_state = RTWS_SYNC;
8704baab Paul E. McKenney 2015-12-31 463 cur_ops->sync();
8704baab Paul E. McKenney 2015-12-31 464 }
8704baab Paul E. McKenney 2015-12-31 465 rcu_perf_writer_state =
RTWS_IDLE;
8704baab Paul E. McKenney 2015-12-31 466 t =
ktime_get_mono_fast_ns();
8704baab Paul E. McKenney 2015-12-31 467 *wdp = t - *wdp;
8704baab Paul E. McKenney 2015-12-31 468 i_max = i;
8704baab Paul E. McKenney 2015-12-31 469 if (!started &&
8704baab Paul E. McKenney 2015-12-31 470
atomic_read(&n_rcu_perf_writer_started) >= nrealwriters)
8704baab Paul E. McKenney 2015-12-31 471 started = true;
8704baab Paul E. McKenney 2015-12-31 472 if (!done && i >=
MIN_MEAS) {
8704baab Paul E. McKenney 2015-12-31 473 done = true;
620316e5 Paul E. McKenney 2016-01-30 474
sp.sched_priority = 0;
620316e5 Paul E. McKenney 2016-01-30 475
sched_setscheduler_nocheck(current,
620316e5 Paul E. McKenney 2016-01-30 476
SCHED_NORMAL, &sp);
a56fefa2 SeongJae Park 2016-08-21 477 pr_alert("%s%s
rcu_perf_writer %ld has %d measurements\n",
a56fefa2 SeongJae Park 2016-08-21 478
perf_type, PERF_FLAG, me, MIN_MEAS);
8704baab Paul E. McKenney 2015-12-31 479 if
(atomic_inc_return(&n_rcu_perf_writer_finished) >=
8704baab Paul E. McKenney 2015-12-31 480
nrealwriters) {
620316e5 Paul E. McKenney 2016-01-30 481
schedule_timeout_interruptible(10);
ac2bb275 Paul E. McKenney 2016-01-29 @482
rcu_ftrace_dump(DUMP_ALL);
8704baab Paul E. McKenney 2015-12-31 483
PERFOUT_STRING("Test complete");
8704baab Paul E. McKenney 2015-12-31 484
t_rcu_perf_writer_finished = t;
8704baab Paul E. McKenney 2015-12-31 485 if
(gp_exp) {
8704baab Paul E. McKenney 2015-12-31 486
b_rcu_perf_writer_finished =
8704baab Paul E. McKenney 2015-12-31 487
cur_ops->exp_completed() / 2;
8704baab Paul E. McKenney 2015-12-31 488 } else {
8704baab Paul E. McKenney 2015-12-31 489
b_rcu_perf_writer_finished =
8704baab Paul E. McKenney 2015-12-31 490
cur_ops->completed();
8704baab Paul E. McKenney 2015-12-31 491 }
e6fb1fc1 Artem Savkov 2016-02-07 492 if
(shutdown) {
8704baab Paul E. McKenney 2015-12-31 493
smp_mb(); /* Assign before wake. */
8704baab Paul E. McKenney 2015-12-31 494
wake_up(&shutdown_wq);
8704baab Paul E. McKenney 2015-12-31 495 }
8704baab Paul E. McKenney 2015-12-31 496 }
e6fb1fc1 Artem Savkov 2016-02-07 497 }
8704baab Paul E. McKenney 2015-12-31 498 if (done && !alldone &&
8704baab Paul E. McKenney 2015-12-31 499
atomic_read(&n_rcu_perf_writer_finished) >= nrealwriters)
8704baab Paul E. McKenney 2015-12-31 500 alldone = true;
8704baab Paul E. McKenney 2015-12-31 501 if (started && !alldone
&& i < MAX_MEAS - 1)
8704baab Paul E. McKenney 2015-12-31 502 i++;
8704baab Paul E. McKenney 2015-12-31 503
rcu_perf_wait_shutdown();
8704baab Paul E. McKenney 2015-12-31 504 } while (!torture_must_stop());
881ed593 Paul E. McKenney 2017-04-17 505 if (gp_async) {
881ed593 Paul E. McKenney 2017-04-17 506 rcu_perf_writer_state =
RTWS_BARRIER;
881ed593 Paul E. McKenney 2017-04-17 507 cur_ops->gp_barrier();
881ed593 Paul E. McKenney 2017-04-17 508 }
8704baab Paul E. McKenney 2015-12-31 509 rcu_perf_writer_state =
RTWS_STOPPING;
8704baab Paul E. McKenney 2015-12-31 510 writer_n_durations[me] = i_max;
8704baab Paul E. McKenney 2015-12-31 511
torture_kthread_stopping("rcu_perf_writer");
8704baab Paul E. McKenney 2015-12-31 512 return 0;
8704baab Paul E. McKenney 2015-12-31 513 }
8704baab Paul E. McKenney 2015-12-31 514
:::::: The code at line 482 was first introduced by commit
:::::: ac2bb275e8e5abddb0815ff2b7aa383ed6d007a4 rcutorture: Make rcuperf
collect expedited event-trace data
:::::: TO: Paul E. McKenney <[email protected]>
:::::: CC: Paul E. McKenney <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip

