From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030354AbcGKH7Z (ORCPT ); Mon, 11 Jul 2016 03:59:25 -0400 Received: from mga04.intel.com ([192.55.52.120]:56372 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933659AbcGKH7U (ORCPT ); Mon, 11 Jul 2016 03:59:20 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,345,1464678000"; d="gz'50?scan'50,208,50";a="137049060" Date: Mon, 11 Jul 2016 15:58:32 +0800 From: kbuild test robot Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, tipbuild@zytor.com, Thomas Gleixner , Sebastian Andrzej Siewior Subject: [tip:WIP.hotplug 59/66] include/linux/rcutree.h:42:20: error: redefinition of 'rcu_virt_note_context_switch' Message-ID: <201607111528.CkKE5eVG%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="y0ulUmNC+osPPQO6" Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --y0ulUmNC+osPPQO6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.hotplug head: 0e5de16e9e45b4d853a31761fd74ff56998169a1 commit: 5b7fb17c566567d3470f3651dbd6a18b4875f222 [59/66] rcu: Convert rcutree to hotplug state machine config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 5b7fb17c566567d3470f3651dbd6a18b4875f222 # save the attached .config to linux build tree make.cross ARCH=xtensa All errors (new ones prefixed by >>): In file included from kernel/cpu.c:26:0: >> include/linux/rcutree.h:42:20: error: redefinition of 'rcu_virt_note_context_switch' static inline void rcu_virt_note_context_switch(int cpu) ^ In file included from include/linux/rcupdate.h:439:0, from include/linux/rculist.h:10, from include/linux/dcache.h:6, from include/linux/fs.h:7, from include/linux/proc_fs.h:8, from kernel/cpu.c:6: include/linux/rcutiny.h:100:20: note: previous definition of 'rcu_virt_note_context_switch' was here static inline void rcu_virt_note_context_switch(int cpu) ^ In file included from kernel/cpu.c:26:0: >> include/linux/rcutree.h:69:20: error: redefinition of 'synchronize_rcu_bh_expedited' static inline void synchronize_rcu_bh_expedited(void) ^ In file included from include/linux/rcupdate.h:439:0, from include/linux/rculist.h:10, from include/linux/dcache.h:6, from include/linux/fs.h:7, from include/linux/proc_fs.h:8, from kernel/cpu.c:6: include/linux/rcutiny.h:75:20: note: previous definition of 'synchronize_rcu_bh_expedited' was here static inline void synchronize_rcu_bh_expedited(void) ^ vim +/rcu_virt_note_context_switch +42 include/linux/rcutree.h 64db4cff Paul E. McKenney 2008-12-18 36 29ce8310 Gleb Natapov 2011-05-04 37 /* 29ce8310 Gleb Natapov 2011-05-04 38 * Note a virtualization-based context switch. This is simply a 29ce8310 Gleb Natapov 2011-05-04 39 * wrapper around rcu_note_context_switch(), which allows TINY_RCU 46a5d164 Paul E. McKenney 2015-10-07 40 * to save a few bytes. The caller must have disabled interrupts. 29ce8310 Gleb Natapov 2011-05-04 41 */ 29ce8310 Gleb Natapov 2011-05-04 @42 static inline void rcu_virt_note_context_switch(int cpu) 29ce8310 Gleb Natapov 2011-05-04 43 { 38200cf2 Paul E. McKenney 2014-10-21 44 rcu_note_context_switch(); 29ce8310 Gleb Natapov 2011-05-04 45 } 29ce8310 Gleb Natapov 2011-05-04 46 584dc4ce Teodora Baluta 2013-11-11 47 void synchronize_rcu_bh(void); 584dc4ce Teodora Baluta 2013-11-11 48 void synchronize_sched_expedited(void); 584dc4ce Teodora Baluta 2013-11-11 49 void synchronize_rcu_expedited(void); 03b042bf Paul E. McKenney 2009-06-25 50 b6a4ae76 Boqun Feng 2015-07-29 51 void kfree_call_rcu(struct rcu_head *head, rcu_callback_t func); 486e2593 Paul E. McKenney 2012-01-06 52 236fefaf Paul E. McKenney 2012-01-31 53 /** 236fefaf Paul E. McKenney 2012-01-31 54 * synchronize_rcu_bh_expedited - Brute-force RCU-bh grace period 236fefaf Paul E. McKenney 2012-01-31 55 * 236fefaf Paul E. McKenney 2012-01-31 56 * Wait for an RCU-bh grace period to elapse, but use a "big hammer" 236fefaf Paul E. McKenney 2012-01-31 57 * approach to force the grace period to end quickly. This consumes 236fefaf Paul E. McKenney 2012-01-31 58 * significant time on all CPUs and is unfriendly to real-time workloads, 236fefaf Paul E. McKenney 2012-01-31 59 * so is thus not recommended for any sort of common-case code. In fact, 236fefaf Paul E. McKenney 2012-01-31 60 * if you are using synchronize_rcu_bh_expedited() in a loop, please 236fefaf Paul E. McKenney 2012-01-31 61 * restructure your code to batch your updates, and then use a single 236fefaf Paul E. McKenney 2012-01-31 62 * synchronize_rcu_bh() instead. 236fefaf Paul E. McKenney 2012-01-31 63 * 236fefaf Paul E. McKenney 2012-01-31 64 * Note that it is illegal to call this function while holding any lock 236fefaf Paul E. McKenney 2012-01-31 65 * that is acquired by a CPU-hotplug notifier. And yes, it is also illegal 236fefaf Paul E. McKenney 2012-01-31 66 * to call this function from a CPU-hotplug notifier. Failing to observe 236fefaf Paul E. McKenney 2012-01-31 67 * these restriction will result in deadlock. 236fefaf Paul E. McKenney 2012-01-31 68 */ 03b042bf Paul E. McKenney 2009-06-25 @69 static inline void synchronize_rcu_bh_expedited(void) 64db4cff Paul E. McKenney 2008-12-18 70 { 03b042bf Paul E. McKenney 2009-06-25 71 synchronize_sched_expedited(); 64db4cff Paul E. McKenney 2008-12-18 72 } :::::: The code at line 42 was first introduced by commit :::::: 29ce831000081dd757d3116bf774aafffc4b6b20 rcu: provide rcu_virt_note_context_switch() function. :::::: TO: Gleb Natapov :::::: CC: Paul E. McKenney --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --y0ulUmNC+osPPQO6 Content-Type: application/octet-stream Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 j/G62CMM7a/xYb+wF2ZfACA0YZBH8swMLi4uztlZgzVIR7ROHQs0Ry3xnXlkHRohoafxA+Ir FZwNwFrGvtRjQl3BR5pWzoENBaaNmCNgmbEHwLCygDTEIZaTwilpBAguNdbdA7TSj9ctYM7b YTiWo4yZDgpNwzngON/PClOhYQq5gG3xRsydSMBDRiEEbKWVmnJ4dcCM4StBhMRO9nh98XB7 LDwI8HGQllh0OI5beDESgDYYRFraa2QK0pgpo0sLT6lrM5+GOW0hT7pKr2jU60eInUbCBr8x nYuAUkJcjNnMlrxV5kPyd3nZNCDOMnryo07b3OG4bm3Pag1N/FsuP/aLr6+lLdF7NvfbN+wN 4WtsMCFoZePtZBx/FX4ep8e5MIEIAYC08r7DWJpnMjU9PWUqd1TAqm6x1GQhF+bGqWvPnG7+ AYcDCeziW/kG+WvDhZzWhw4xieh7Ir/8ewWpsH90YKfy+Wp5aPZU10vlVeobiii1KTvVDApg wla9HEzfxGlAhSkAUInPIpW0KibVcIHMYsiPRFUqbLiGKQAy3IJGU80K1jMWWSIaBRIxA2U8 crQEO45UFe0O8geg4JibEeKi6k+tK2tsTzNdL8I5DDGRup2s9j0uGDIMI7kj98b8S4cgr4+V zoDIRTBSP9tNbKlAbGjTcXhmSDowlJPJmPXZVKqV5AA+4MdZX49xUGsfBJLp1WA2c+dc6Z8F h3BX+HSQqgf0GX+4pUNezZK7QFbNwGH3zhS3a7aok9lUFpMNfe95tUOn8ux9LZeLj13pYR0f 0LMHaFuinVVdXsvlvnxu7ssxBM7uz06dMfoLuJ+puEjHhvsTeoePI+gzi223bxKL3tfFq92S 0icNYEJlGo/urqLJxYCeGywhnmPqQitZCO5a0d+lR4jjOH3OaGQQW0sjqSLhkdI5WL1Gk3OZ UpjiaSY9uXO1B12rqKKKgO2Ovd3H+/tmu28uU0UpHq747JYecXh3edH7luosrPx3sfPkerff frzZyuTu+2ILOrbfLtY7nMl7Xa1L1L3l6h3/Wrtr9rovtwvP4ruX1fbtH+jmPW/+Wb9uFs9e dcRa88r1vnz1Ysmt56gcfE3TXAZE8wSsoN96GihENOwi8sX2mZrGyb95P+ater/Yl158inW/ cqXj37rRCuU7DnfaCh7Su81nkS1JOYlV5OjW7FosQoS9/dMckp3KdBqqUasYELHk1TqzY9LH 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 LN9Er7XCXlohHRf4D5AzD3mBWQAA --y0ulUmNC+osPPQO6--