[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201711221647.m7VD1cz9%fengguang.wu@intel.com>
Date: Wed, 22 Nov 2017 16:35:49 +0800
From: kbuild test robot <fengguang.wu@...el.com>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: [rcu:rcu/dev 62/62] kernel/rcu/rcuperf.c:649:32: sparse: too many
arguments for function torture_init_begin
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev
head: b151f93a71fc9fecb560e823a92402d882516483
commit: b151f93a71fc9fecb560e823a92402d882516483 [62/62] torture: Eliminate torture_runnable
reproduce:
# apt-get install sparse
git checkout b151f93a71fc9fecb560e823a92402d882516483
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
vim +649 kernel/rcu/rcuperf.c
8704baab9 Paul E. McKenney 2015-12-31 638
8704baab9 Paul E. McKenney 2015-12-31 639 static int __init
8704baab9 Paul E. McKenney 2015-12-31 640 rcu_perf_init(void)
8704baab9 Paul E. McKenney 2015-12-31 641 {
8704baab9 Paul E. McKenney 2015-12-31 642 long i;
8704baab9 Paul E. McKenney 2015-12-31 643 int firsterr = 0;
8704baab9 Paul E. McKenney 2015-12-31 644 static struct rcu_perf_ops *perf_ops[] = {
f60cb4d4c Paul E. McKenney 2017-04-19 645 &rcu_ops, &rcu_bh_ops, &srcu_ops, &srcud_ops, &sched_ops,
f1dbc54b9 Paul E. McKenney 2017-05-25 646 &tasks_ops,
8704baab9 Paul E. McKenney 2015-12-31 647 };
8704baab9 Paul E. McKenney 2015-12-31 648
8704baab9 Paul E. McKenney 2015-12-31 @649 if (!torture_init_begin(perf_type, verbose, &perf_runnable))
8704baab9 Paul E. McKenney 2015-12-31 650 return -EBUSY;
8704baab9 Paul E. McKenney 2015-12-31 651
8704baab9 Paul E. McKenney 2015-12-31 652 /* Process args and tell the world that the perf'er is on the job. */
8704baab9 Paul E. McKenney 2015-12-31 653 for (i = 0; i < ARRAY_SIZE(perf_ops); i++) {
8704baab9 Paul E. McKenney 2015-12-31 654 cur_ops = perf_ops[i];
8704baab9 Paul E. McKenney 2015-12-31 655 if (strcmp(perf_type, cur_ops->name) == 0)
8704baab9 Paul E. McKenney 2015-12-31 656 break;
8704baab9 Paul E. McKenney 2015-12-31 657 }
8704baab9 Paul E. McKenney 2015-12-31 658 if (i == ARRAY_SIZE(perf_ops)) {
8704baab9 Paul E. McKenney 2015-12-31 659 pr_alert("rcu-perf: invalid perf type: \"%s\"\n",
8704baab9 Paul E. McKenney 2015-12-31 660 perf_type);
8704baab9 Paul E. McKenney 2015-12-31 661 pr_alert("rcu-perf types:");
8704baab9 Paul E. McKenney 2015-12-31 662 for (i = 0; i < ARRAY_SIZE(perf_ops); i++)
8704baab9 Paul E. McKenney 2015-12-31 663 pr_alert(" %s", perf_ops[i]->name);
8704baab9 Paul E. McKenney 2015-12-31 664 pr_alert("\n");
8704baab9 Paul E. McKenney 2015-12-31 665 firsterr = -EINVAL;
8704baab9 Paul E. McKenney 2015-12-31 666 goto unwind;
8704baab9 Paul E. McKenney 2015-12-31 667 }
8704baab9 Paul E. McKenney 2015-12-31 668 if (cur_ops->init)
8704baab9 Paul E. McKenney 2015-12-31 669 cur_ops->init();
8704baab9 Paul E. McKenney 2015-12-31 670
8704baab9 Paul E. McKenney 2015-12-31 671 nrealwriters = compute_real(nwriters);
8704baab9 Paul E. McKenney 2015-12-31 672 nrealreaders = compute_real(nreaders);
8704baab9 Paul E. McKenney 2015-12-31 673 atomic_set(&n_rcu_perf_reader_started, 0);
8704baab9 Paul E. McKenney 2015-12-31 674 atomic_set(&n_rcu_perf_writer_started, 0);
8704baab9 Paul E. McKenney 2015-12-31 675 atomic_set(&n_rcu_perf_writer_finished, 0);
8704baab9 Paul E. McKenney 2015-12-31 676 rcu_perf_print_module_parms(cur_ops, "Start of test");
8704baab9 Paul E. McKenney 2015-12-31 677
8704baab9 Paul E. McKenney 2015-12-31 678 /* Start up the kthreads. */
8704baab9 Paul E. McKenney 2015-12-31 679
8704baab9 Paul E. McKenney 2015-12-31 680 if (shutdown) {
8704baab9 Paul E. McKenney 2015-12-31 681 init_waitqueue_head(&shutdown_wq);
8704baab9 Paul E. McKenney 2015-12-31 682 firsterr = torture_create_kthread(rcu_perf_shutdown, NULL,
8704baab9 Paul E. McKenney 2015-12-31 683 shutdown_task);
8704baab9 Paul E. McKenney 2015-12-31 684 if (firsterr)
8704baab9 Paul E. McKenney 2015-12-31 685 goto unwind;
8704baab9 Paul E. McKenney 2015-12-31 686 schedule_timeout_uninterruptible(1);
8704baab9 Paul E. McKenney 2015-12-31 687 }
8704baab9 Paul E. McKenney 2015-12-31 688 reader_tasks = kcalloc(nrealreaders, sizeof(reader_tasks[0]),
8704baab9 Paul E. McKenney 2015-12-31 689 GFP_KERNEL);
8704baab9 Paul E. McKenney 2015-12-31 690 if (reader_tasks == NULL) {
8704baab9 Paul E. McKenney 2015-12-31 691 VERBOSE_PERFOUT_ERRSTRING("out of memory");
8704baab9 Paul E. McKenney 2015-12-31 692 firsterr = -ENOMEM;
8704baab9 Paul E. McKenney 2015-12-31 693 goto unwind;
8704baab9 Paul E. McKenney 2015-12-31 694 }
8704baab9 Paul E. McKenney 2015-12-31 695 for (i = 0; i < nrealreaders; i++) {
6b558c4c7 Paul E. McKenney 2016-01-12 696 firsterr = torture_create_kthread(rcu_perf_reader, (void *)i,
8704baab9 Paul E. McKenney 2015-12-31 697 reader_tasks[i]);
8704baab9 Paul E. McKenney 2015-12-31 698 if (firsterr)
8704baab9 Paul E. McKenney 2015-12-31 699 goto unwind;
8704baab9 Paul E. McKenney 2015-12-31 700 }
8704baab9 Paul E. McKenney 2015-12-31 701 while (atomic_read(&n_rcu_perf_reader_started) < nrealreaders)
8704baab9 Paul E. McKenney 2015-12-31 702 schedule_timeout_uninterruptible(1);
8704baab9 Paul E. McKenney 2015-12-31 703 writer_tasks = kcalloc(nrealwriters, sizeof(reader_tasks[0]),
8704baab9 Paul E. McKenney 2015-12-31 704 GFP_KERNEL);
8704baab9 Paul E. McKenney 2015-12-31 705 writer_durations = kcalloc(nrealwriters, sizeof(*writer_durations),
8704baab9 Paul E. McKenney 2015-12-31 706 GFP_KERNEL);
8704baab9 Paul E. McKenney 2015-12-31 707 writer_n_durations =
8704baab9 Paul E. McKenney 2015-12-31 708 kcalloc(nrealwriters, sizeof(*writer_n_durations),
8704baab9 Paul E. McKenney 2015-12-31 709 GFP_KERNEL);
8704baab9 Paul E. McKenney 2015-12-31 710 if (!writer_tasks || !writer_durations || !writer_n_durations) {
8704baab9 Paul E. McKenney 2015-12-31 711 VERBOSE_PERFOUT_ERRSTRING("out of memory");
8704baab9 Paul E. McKenney 2015-12-31 712 firsterr = -ENOMEM;
8704baab9 Paul E. McKenney 2015-12-31 713 goto unwind;
8704baab9 Paul E. McKenney 2015-12-31 714 }
8704baab9 Paul E. McKenney 2015-12-31 715 for (i = 0; i < nrealwriters; i++) {
8704baab9 Paul E. McKenney 2015-12-31 716 writer_durations[i] =
8704baab9 Paul E. McKenney 2015-12-31 717 kcalloc(MAX_MEAS, sizeof(*writer_durations[i]),
8704baab9 Paul E. McKenney 2015-12-31 718 GFP_KERNEL);
05dbbfe75 Wei Yongjun 2016-06-13 719 if (!writer_durations[i]) {
05dbbfe75 Wei Yongjun 2016-06-13 720 firsterr = -ENOMEM;
8704baab9 Paul E. McKenney 2015-12-31 721 goto unwind;
05dbbfe75 Wei Yongjun 2016-06-13 722 }
8704baab9 Paul E. McKenney 2015-12-31 723 firsterr = torture_create_kthread(rcu_perf_writer, (void *)i,
8704baab9 Paul E. McKenney 2015-12-31 724 writer_tasks[i]);
8704baab9 Paul E. McKenney 2015-12-31 725 if (firsterr)
8704baab9 Paul E. McKenney 2015-12-31 726 goto unwind;
8704baab9 Paul E. McKenney 2015-12-31 727 }
8704baab9 Paul E. McKenney 2015-12-31 728 torture_init_end();
8704baab9 Paul E. McKenney 2015-12-31 729 return 0;
8704baab9 Paul E. McKenney 2015-12-31 730
8704baab9 Paul E. McKenney 2015-12-31 731 unwind:
8704baab9 Paul E. McKenney 2015-12-31 732 torture_init_end();
8704baab9 Paul E. McKenney 2015-12-31 733 rcu_perf_cleanup();
8704baab9 Paul E. McKenney 2015-12-31 734 return firsterr;
8704baab9 Paul E. McKenney 2015-12-31 735 }
8704baab9 Paul E. McKenney 2015-12-31 736
:::::: The code at line 649 was first introduced by commit
:::::: 8704baab9bc848b58c129fed6b591bb84ec02f41 rcutorture: Add RCU grace-period performance tests
:::::: TO: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
:::::: CC: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Powered by blists - more mailing lists