From: kbuild test robot <lkp@intel.com>
To: Amol Grover <frextrite@gmail.com>
Cc: kbuild-all@lists.01.org, Santosh Shilimkar <ssantosh@kernel.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel-mentees@lists.linuxfoundation.org,
Joel Fernandes <joel@joelfernandes.org>,
Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>,
"Paul E . McKenney" <paulmck@kernel.org>,
Amol Grover <frextrite@gmail.com>
Subject: Re: [PATCH] drivers: soc: ti: knav_qmss_queue: Pass lockdep expression to RCU lists
Date: Sun, 12 Jan 2020 00:39:21 +0800 [thread overview]
Message-ID: <202001120018.vHsJ2J4s%lkp@intel.com> (raw)
In-Reply-To: <20200110123212.26756-1-frextrite@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6192 bytes --]
Hi Amol,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linux/master]
[also build test WARNING on arm-soc/for-next clk/clk-next linus/master keystone/next v5.5-rc5 next-20200109]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Amol-Grover/drivers-soc-ti-knav_qmss_queue-Pass-lockdep-expression-to-RCU-lists/20200111-054347
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1522d9da40bdfe502c91163e6d769332897201fa
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/rculist.h:11:0,
from include/linux/dcache.h:7,
from include/linux/fs.h:8,
from include/linux/debugfs.h:15,
from drivers/soc/ti/knav_qmss_queue.c:11:
drivers/soc/ti/knav_qmss_queue.c: In function 'knav_queue_notify':
include/linux/rculist.h:53:25: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
RCU_LOCKDEP_WARN(!cond && !rcu_read_lock_any_held(), \
include/linux/rcupdate.h:263:52: note: in definition of macro 'RCU_LOCKDEP_WARN'
if (debug_lockdep_rcu_enabled() && !__warned && (c)) { \
^
include/linux/rculist.h:371:7: note: in expansion of macro '__list_check_rcu'
for (__list_check_rcu(dummy, ## cond, 0), \
^~~~~~~~~~~~~~~~
>> drivers/soc/ti/knav_qmss_queue.c:58:2: note: in expansion of macro 'list_for_each_entry_rcu'
list_for_each_entry_rcu(qh, &inst->handles, list, \
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/soc/ti/knav_qmss_queue.c:92:2: note: in expansion of macro 'for_each_handle_rcu'
for_each_handle_rcu(qh, inst) {
^~~~~~~~~~~~~~~~~~~
drivers/soc/ti/knav_qmss_queue.c: In function 'knav_queue_is_shared':
include/linux/rculist.h:53:25: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
RCU_LOCKDEP_WARN(!cond && !rcu_read_lock_any_held(), \
include/linux/rcupdate.h:263:52: note: in definition of macro 'RCU_LOCKDEP_WARN'
if (debug_lockdep_rcu_enabled() && !__warned && (c)) { \
^
include/linux/rculist.h:371:7: note: in expansion of macro '__list_check_rcu'
for (__list_check_rcu(dummy, ## cond, 0), \
^~~~~~~~~~~~~~~~
>> drivers/soc/ti/knav_qmss_queue.c:58:2: note: in expansion of macro 'list_for_each_entry_rcu'
list_for_each_entry_rcu(qh, &inst->handles, list, \
^~~~~~~~~~~~~~~~~~~~~~~
drivers/soc/ti/knav_qmss_queue.c:165:2: note: in expansion of macro 'for_each_handle_rcu'
for_each_handle_rcu(tmp, inst) {
^~~~~~~~~~~~~~~~~~~
drivers/soc/ti/knav_qmss_queue.c: In function 'knav_queue_debug_show_instance':
include/linux/rculist.h:53:25: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
RCU_LOCKDEP_WARN(!cond && !rcu_read_lock_any_held(), \
include/linux/rcupdate.h:263:52: note: in definition of macro 'RCU_LOCKDEP_WARN'
if (debug_lockdep_rcu_enabled() && !__warned && (c)) { \
^
include/linux/rculist.h:371:7: note: in expansion of macro '__list_check_rcu'
for (__list_check_rcu(dummy, ## cond, 0), \
^~~~~~~~~~~~~~~~
>> drivers/soc/ti/knav_qmss_queue.c:58:2: note: in expansion of macro 'list_for_each_entry_rcu'
list_for_each_entry_rcu(qh, &inst->handles, list, \
^~~~~~~~~~~~~~~~~~~~~~~
drivers/soc/ti/knav_qmss_queue.c:445:2: note: in expansion of macro 'for_each_handle_rcu'
for_each_handle_rcu(qh, inst) {
^~~~~~~~~~~~~~~~~~~
vim +/list_for_each_entry_rcu +58 drivers/soc/ti/knav_qmss_queue.c
53
54 #define knav_queue_idx_to_inst(kdev, idx) \
55 (kdev->instances + (idx << kdev->inst_shift))
56
57 #define for_each_handle_rcu(qh, inst) \
> 58 list_for_each_entry_rcu(qh, &inst->handles, list, \
59 rcu_read_lock_held() || knav_dev_lock_held())
60
61 #define for_each_instance(idx, inst, kdev) \
62 for (idx = 0, inst = kdev->instances; \
63 idx < (kdev)->num_queues_in_use; \
64 idx++, inst = knav_queue_idx_to_inst(kdev, idx))
65
66 /* All firmware file names end up here. List the firmware file names below.
67 * Newest followed by older ones. Search is done from start of the array
68 * until a firmware file is found.
69 */
70 const char *knav_acc_firmwares[] = {"ks2_qmss_pdsp_acc48.bin"};
71
72 static bool device_ready;
73 bool knav_qmss_device_ready(void)
74 {
75 return device_ready;
76 }
77 EXPORT_SYMBOL_GPL(knav_qmss_device_ready);
78
79 /**
80 * knav_queue_notify: qmss queue notfier call
81 *
82 * @inst: qmss queue instance like accumulator
83 */
84 void knav_queue_notify(struct knav_queue_inst *inst)
85 {
86 struct knav_queue *qh;
87
88 if (!inst)
89 return;
90
91 rcu_read_lock();
> 92 for_each_handle_rcu(qh, inst) {
93 if (atomic_read(&qh->notifier_enabled) <= 0)
94 continue;
95 if (WARN_ON(!qh->notifier_fn))
96 continue;
97 this_cpu_inc(qh->stats->notifies);
98 qh->notifier_fn(qh->notifier_fn_arg);
99 }
100 rcu_read_unlock();
101 }
102 EXPORT_SYMBOL_GPL(knav_queue_notify);
103
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 72755 bytes --]
prev parent reply other threads:[~2020-01-11 16:40 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-10 12:32 [PATCH] drivers: soc: ti: knav_qmss_queue: Pass lockdep expression to RCU lists Amol Grover
2020-01-11 16:39 ` 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=202001120018.vHsJ2J4s%lkp@intel.com \
--to=lkp@intel.com \
--cc=frextrite@gmail.com \
--cc=joel@joelfernandes.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel-mentees@lists.linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=madhuparnabhowmik04@gmail.com \
--cc=paulmck@kernel.org \
--cc=ssantosh@kernel.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