linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: kbuild-all@01.org, linux-mm@kvack.org,
	Kirill Tkhai <ktkhai@virtuozzo.com>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	linux-kernel@vger.kernel.org,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [PATCH 4/4] rcu: Switch to using free() instead of kfree()
Date: Sat, 24 Mar 2018 16:20:41 +0800	[thread overview]
Message-ID: <201803241659.Xiz5QM6v%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180322195819.24271-5-willy@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 11364 bytes --]

Hi Matthew,

I love your patch! Yet something to improve:

[auto build test ERROR on rcu/rcu/next]
[also build test ERROR on v4.16-rc6 next-20180323]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Matthew-Wilcox/Add-free-function/20180324-140756
base:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
config: x86_64-randconfig-s0-03241416 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from kernel/rcu/tree.c:4210:0:
   kernel/rcu/tree_plugin.h: In function '__call_rcu_nocb':
   kernel/rcu/tree_plugin.h:2020:6: error: implicit declaration of function '__is_kfree_rcu_offset' [-Werror=implicit-function-declaration]
     if (__is_kfree_rcu_offset((unsigned long)rhp->func))
         ^~~~~~~~~~~~~~~~~~~~~
>> kernel/rcu/tree_plugin.h:2021:3: error: implicit declaration of function 'trace_rcu_kfree_callback' [-Werror=implicit-function-declaration]
      trace_rcu_kfree_callback(rdp->rsp->name, rhp,
      ^~~~~~~~~~~~~~~~~~~~~~~~
   Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
   Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/arch_hweight.h:__arch_hweight64
   Cyclomatic Complexity 2 include/linux/bitops.h:hweight_long
   Cyclomatic Complexity 1 include/linux/kernel.h:tracing_off
   Cyclomatic Complexity 1 include/linux/kernel.h:ftrace_dump
   Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD
   Cyclomatic Complexity 2 include/linux/list.h:__list_add
   Cyclomatic Complexity 1 include/linux/list.h:list_add
   Cyclomatic Complexity 1 include/linux/list.h:list_add_tail
   Cyclomatic Complexity 1 include/linux/list.h:__list_del
   Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry
   Cyclomatic Complexity 1 include/linux/list.h:list_del_init
   Cyclomatic Complexity 1 include/linux/list.h:list_empty
   Cyclomatic Complexity 1 include/linux/percpu-defs.h:__this_cpu_preempt_check
   Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
   Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_zero
   Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_and
   Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_subset
   Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_empty
   Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_weight
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_check
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_next
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_test_cpu
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_clear
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_and
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_subset
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_empty
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpulist_parse
   Cyclomatic Complexity 1 include/linux/cpumask.h:zalloc_cpumask_var
   Cyclomatic Complexity 1 include/linux/cpumask.h:alloc_bootmem_cpumask_var
   Cyclomatic Complexity 1 include/linux/cpumask.h:cpumask_available
   Cyclomatic Complexity 1 include/linux/cpumask.h:get_cpu_mask
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_restore
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_disable
   Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_save
   Cyclomatic Complexity 1 include/linux/err.h:IS_ERR
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_set
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_add
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_inc
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec_and_test
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_add_return
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_cmpxchg
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_xchg
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_and
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic64_64.h:atomic64_read
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic64_64.h:atomic64_set
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic64_64.h:atomic64_add
   Cyclomatic Complexity 1 include/linux/atomic.h:atomic_andnot
   Cyclomatic Complexity 1 include/asm-generic/atomic-long.h:atomic_long_read
   Cyclomatic Complexity 1 include/asm-generic/atomic-long.h:atomic_long_set
   Cyclomatic Complexity 1 include/asm-generic/atomic-long.h:atomic_long_add
   Cyclomatic Complexity 2 include/linux/thread_info.h:test_ti_thread_flag
   Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:preempt_count
   Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add
   Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:__preempt_count_dec_and_test
   Cyclomatic Complexity 1 include/linux/bottom_half.h:__local_bh_disable_ip
   Cyclomatic Complexity 1 include/linux/bottom_half.h:local_bh_disable
   Cyclomatic Complexity 1 include/linux/bottom_half.h:local_bh_enable
   Cyclomatic Complexity 1 include/linux/lockdep.h:lock_is_held
   Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock
   Cyclomatic Complexity 1 include/linux/rcutree.h:synchronize_rcu_bh_expedited
   Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_lock_acquire
   Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_lock_release
   Cyclomatic Complexity 1 include/linux/completion.h:__init_completion
   Cyclomatic Complexity 1 include/linux/workqueue.h:__init_work
   Cyclomatic Complexity 1 include/linux/workqueue.h:queue_work
   Cyclomatic Complexity 1 include/linux/sched.h:is_idle_task
   Cyclomatic Complexity 1 include/linux/sched.h:task_thread_info
   Cyclomatic Complexity 1 include/linux/sched.h:test_tsk_thread_flag
   Cyclomatic Complexity 1 include/linux/sched.h:_cond_resched
   Cyclomatic Complexity 1 include/linux/sched.h:need_resched
   Cyclomatic Complexity 1 include/linux/sched.h:task_cpu
   Cyclomatic Complexity 1 include/linux/nmi.h:touch_softlockup_watchdog
   Cyclomatic Complexity 1 include/linux/nmi.h:arch_touch_nmi_watchdog
   Cyclomatic Complexity 1 include/linux/nmi.h:touch_nmi_watchdog
   Cyclomatic Complexity 1 include/linux/nmi.h:trigger_single_cpu_backtrace
   Cyclomatic Complexity 1 include/linux/irq_work.h:init_irq_work
   Cyclomatic Complexity 1 include/linux/cpu.h:cpus_read_lock
   Cyclomatic Complexity 1 include/linux/cpu.h:cpus_read_unlock
   Cyclomatic Complexity 1 include/linux/cpu.h:get_online_cpus
   Cyclomatic Complexity 1 include/linux/cpu.h:put_online_cpus
   Cyclomatic Complexity 1 include/linux/kernel_stat.h:kstat_softirqs_cpu
   Cyclomatic Complexity 1 include/linux/sched/signal.h:signal_pending
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_cblist_dequeued_lazy
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_segcblist_empty
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_segcblist_n_cbs
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_segcblist_n_lazy_cbs
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_segcblist_n_nonlazy_cbs
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_segcblist_is_enabled
   Cyclomatic Complexity 1 kernel/rcu/rcu_segcblist.h:rcu_segcblist_restempty

vim +/trace_rcu_kfree_callback +2021 kernel/rcu/tree_plugin.h

3fbfbf7a3b kernel/rcutree_plugin.h  Paul E. McKenney    2012-08-19  2016  
d1e43fa5f8 kernel/rcutree_plugin.h  Frederic Weisbecker 2013-03-26  2017  	if (!rcu_is_nocb_cpu(rdp->cpu))
c271d3a957 kernel/rcu/tree_plugin.h Pranith Kumar       2014-07-08  2018  		return false;
96d3fd0d31 kernel/rcu/tree_plugin.h Paul E. McKenney    2013-10-04  2019  	__call_rcu_nocb_enqueue(rdp, rhp, &rhp->next, 1, lazy, flags);
21e7a60874 kernel/rcutree_plugin.h  Paul E. McKenney    2013-02-09 @2020  	if (__is_kfree_rcu_offset((unsigned long)rhp->func))
21e7a60874 kernel/rcutree_plugin.h  Paul E. McKenney    2013-02-09 @2021  		trace_rcu_kfree_callback(rdp->rsp->name, rhp,
21e7a60874 kernel/rcutree_plugin.h  Paul E. McKenney    2013-02-09  2022  					 (unsigned long)rhp->func,
756cbf6bef kernel/rcutree_plugin.h  Paul E. McKenney    2013-08-15  2023  					 -atomic_long_read(&rdp->nocb_q_count_lazy),
756cbf6bef kernel/rcutree_plugin.h  Paul E. McKenney    2013-08-15  2024  					 -atomic_long_read(&rdp->nocb_q_count));
21e7a60874 kernel/rcutree_plugin.h  Paul E. McKenney    2013-02-09  2025  	else
21e7a60874 kernel/rcutree_plugin.h  Paul E. McKenney    2013-02-09  2026  		trace_rcu_callback(rdp->rsp->name, rhp,
756cbf6bef kernel/rcutree_plugin.h  Paul E. McKenney    2013-08-15  2027  				   -atomic_long_read(&rdp->nocb_q_count_lazy),
756cbf6bef kernel/rcutree_plugin.h  Paul E. McKenney    2013-08-15  2028  				   -atomic_long_read(&rdp->nocb_q_count));
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2029  
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2030  	/*
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2031  	 * If called from an extended quiescent state with interrupts
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2032  	 * disabled, invoke the RCU core in order to allow the idle-entry
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2033  	 * deferred-wakeup check to function.
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2034  	 */
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2035  	if (irqs_disabled_flags(flags) &&
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2036  	    !rcu_is_watching() &&
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2037  	    cpu_online(smp_processor_id()))
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2038  		invoke_rcu_core();
1772947bd0 kernel/rcu/tree_plugin.h Paul E. McKenney    2014-08-12  2039  
c271d3a957 kernel/rcu/tree_plugin.h Pranith Kumar       2014-07-08  2040  	return true;
3fbfbf7a3b kernel/rcutree_plugin.h  Paul E. McKenney    2012-08-19  2041  }
3fbfbf7a3b kernel/rcutree_plugin.h  Paul E. McKenney    2012-08-19  2042  

:::::: The code at line 2021 was first introduced by commit
:::::: 21e7a6087480451804124cee27c0a7d0a7de1564 rcu: Add event tracing for no-CBs CPUs' callback registration

:::::: TO: Paul E. McKenney <paul.mckenney@linaro.org>
:::::: CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29086 bytes --]

      parent reply	other threads:[~2018-03-24  8:21 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-22 19:58 [PATCH 0/4] Add free() function Matthew Wilcox
2018-03-22 19:58 ` [PATCH 1/4] decompression: Rename malloc and free Matthew Wilcox
2018-03-22 19:58 ` [PATCH 2/4] Rename 'free' functions Matthew Wilcox
2018-03-22 19:58 ` [PATCH 3/4] mm: Add free() Matthew Wilcox
2018-03-23  8:04   ` Rasmus Villemoes
2018-03-23 14:34     ` Matthew Wilcox
2018-04-03  8:50       ` Pavel Machek
2018-04-03 11:41         ` Matthew Wilcox
2018-03-23 13:33   ` Kirill Tkhai
2018-03-23 15:14     ` Matthew Wilcox
2018-03-23 15:49       ` Kirill Tkhai
2018-03-23 16:15       ` Matthew Wilcox
2018-03-25 23:56       ` Matthew Wilcox
2018-03-24  7:38   ` kbuild test robot
2018-03-22 19:58 ` [PATCH 4/4] rcu: Switch to using free() instead of kfree() Matthew Wilcox
2018-03-24  7:07   ` kbuild test robot
2018-03-24  8:20   ` kbuild test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201803241659.Xiz5QM6v%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@01.org \
    --cc=ktkhai@virtuozzo.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mawilcox@microsoft.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).