Re: [rcu:rcu/dev 5/99] arch/x86/kernel/cpu/mtrr/main.c:797: undefined reference to `rcu_cpu_starting'

From: Paul E. McKenney
Date: Tue May 22 2018 - 17:12:58 EST


On Wed, May 23, 2018 at 05:30:30AM +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev
> head: 477fc1978395d58ae0406293a1d963629778a39d
> commit: 354238a30982b817262fe6f9d00f808451694366 [5/99] rcu/x86: Provide early rcu_cpu_starting() callback
> config: i386-randconfig-i1-201820 (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
> reproduce:
> git checkout 354238a30982b817262fe6f9d00f808451694366
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):

Problems with !SMP, which I am beating up on...

Thanx, Paul

> arch/x86/kernel/cpu/mtrr/main.o: In function `mtrr_ap_init':
> >> arch/x86/kernel/cpu/mtrr/main.c:797: undefined reference to `rcu_cpu_starting'
>
> vim +797 arch/x86/kernel/cpu/mtrr/main.c
>
> 788
> 789 void mtrr_ap_init(void)
> 790 {
> 791 if (!mtrr_enabled())
> 792 return;
> 793
> 794 if (!use_intel() || mtrr_aps_delayed_init)
> 795 return;
> 796
> > 797 rcu_cpu_starting(smp_processor_id());
> 798
> 799 /*
> 800 * Ideally we should hold mtrr_mutex here to avoid mtrr entries
> 801 * changed, but this routine will be called in cpu boot time,
> 802 * holding the lock breaks it.
> 803 *
> 804 * This routine is called in two cases:
> 805 *
> 806 * 1. very earily time of software resume, when there absolutely
> 807 * isn't mtrr entry changes;
> 808 *
> 809 * 2. cpu hotadd time. We let mtrr_add/del_page hold cpuhotplug
> 810 * lock to prevent mtrr entry changes
> 811 */
> 812 set_mtrr_from_inactive_cpu(~0U, 0, 0, 0);
> 813 }
> 814
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation