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