From: Jakub Kicinski <jakub.kicinski@netronome.com>
To: NeilBrown <neilb@suse.com>
Cc: davem@davemloft.net, herbert@gondor.apana.org.au, tgraf@suug.ch,
netdev@vger.kernel.org, oss-drivers@netronome.com,
Simon Horman <simon.horman@netronome.com>
Subject: Re: [PATCH net] rhashtable: fix sparse RCU warnings on bit lock in bucket pointer
Date: Wed, 15 May 2019 15:04:34 -0700 [thread overview]
Message-ID: <20190515150434.7ae041c8@cakuba.netronome.com> (raw)
In-Reply-To: <87sgtfwg1m.fsf@notabene.neil.brown.name>
On Thu, 16 May 2019 07:42:29 +1000, NeilBrown wrote:
> On Wed, May 15 2019, Jakub Kicinski wrote:
>
> > Since the bit_spin_lock() operations don't actually dereference
> > the pointer, it's fine to forcefully drop the RCU annotation.
> > This fixes 7 sparse warnings per include site.
> >
> > Fixes: 8f0db018006a ("rhashtable: use bit_spin_locks to protect hash bucket.")
> > Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> > Reviewed-by: Simon Horman <simon.horman@netronome.com>
>
> Hi, sorry for not responding to your initial post, but I'm otherwise
> engaged this week and cannot give it any real time. I don't object to
> this patch, but I'll try to have a proper look next week, if only to
> find out how I didn't get the warnings, as I was testing with sparse.
You gave me a scare :) I pulled latest sparse and they seem to still
be there (previously I was testing with sparse 5.2). Note that I'm
just fixing the warnings in the header, those are particularly noisy as
they get printed for each include site.
$ gcc-9 --version
gcc-9 (Ubuntu 9-20190428-1ubuntu1~18.04.york0) 9.0.1 20190428 (prerelease) [gcc-9-branch revision 270630]
[...]
$ sparse --version
v0.6.1-rc1-7-g2b96cd80
$ git checkout net/master
$ make CC=gcc-9 O=build_net-perf/ -j 32 W=1 C=1
make[1]: Entering directory '/home/jkicinski/devel/linux/build_net-perf'
GEN Makefile
DESCEND objtool
Using .. as source for kernel
CALL ../scripts/atomic/check-atomics.sh
CALL ../scripts/checksyscalls.sh
CHK include/generated/compile.h
CHECK ../lib/rhashtable.c
../lib/rhashtable.c:134:13: warning: incorrect type in initializer (different address spaces)
../lib/rhashtable.c:134:13: expected union nested_table [noderef] <asn:4> *__new
../lib/rhashtable.c:134:13: got union nested_table *[assigned] ntbl
../lib/rhashtable.c:250:51: warning: incorrect type in argument 2 (different address spaces)
../lib/rhashtable.c:250:51: expected struct rhash_lock_head **bucket
../lib/rhashtable.c:250:51: got struct rhash_lock_head [noderef] <asn:4> **
../lib/rhashtable.c:277:27: warning: incorrect type in argument 2 (different address spaces)
../lib/rhashtable.c:277:27: expected struct rhash_lock_head **bkt
../lib/rhashtable.c:277:27: got struct rhash_lock_head [noderef] <asn:4> **bkt
../lib/rhashtable.c:284:29: warning: incorrect type in argument 2 (different address spaces)
../lib/rhashtable.c:284:29: expected struct rhash_lock_head **bkt
../lib/rhashtable.c:284:29: got struct rhash_lock_head [noderef] <asn:4> **bkt
../lib/rhashtable.c:299:13: warning: incorrect type in initializer (different address spaces)
../lib/rhashtable.c:299:13: expected struct bucket_table [noderef] <asn:4> *__new
../lib/rhashtable.c:299:13: got struct bucket_table *new_tbl
../lib/rhashtable.c:605:39: warning: incorrect type in argument 2 (different address spaces)
../lib/rhashtable.c:605:39: expected struct rhash_lock_head **bkt
../lib/rhashtable.c:605:39: got struct rhash_lock_head [noderef] <asn:4> **[assigned] bkt
../lib/rhashtable.c:613:41: warning: incorrect type in argument 2 (different address spaces)
../lib/rhashtable.c:613:41: expected struct rhash_lock_head **bkt
../lib/rhashtable.c:613:41: got struct rhash_lock_head [noderef] <asn:4> **[assigned] bkt
[...]
$ git checkout rht-fix
$ make CC=gcc-9 O=build_net-perf/ -j 32 W=1 C=1
[...all things get rebuilt...]
$ touch lib/rhashtable.c
$ make CC=gcc-9 O=build_net-perf/ -j 32 W=1 C=1
make[1]: Entering directory '/home/jkicinski/devel/linux/build_net-perf'
GEN Makefile
DESCEND objtool
Using .. as source for kernel
CALL ../scripts/atomic/check-atomics.sh
CALL ../scripts/checksyscalls.sh
CHK include/generated/compile.h
CHECK ../lib/rhashtable.c
../lib/rhashtable.c:134:13: warning: incorrect type in initializer (different address spaces)
../lib/rhashtable.c:134:13: expected union nested_table [noderef] <asn:4> *__new
../lib/rhashtable.c:134:13: got union nested_table *[assigned] ntbl
../lib/rhashtable.c:299:13: warning: incorrect type in initializer (different address spaces)
../lib/rhashtable.c:299:13: expected struct bucket_table [noderef] <asn:4> *__new
../lib/rhashtable.c:299:13: got struct bucket_table *new_tbl
[...]
next prev parent reply other threads:[~2019-05-15 22:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-15 20:55 [PATCH net] rhashtable: fix sparse RCU warnings on bit lock in bucket pointer Jakub Kicinski
2019-05-15 21:42 ` NeilBrown
2019-05-15 22:04 ` Jakub Kicinski [this message]
2019-05-16 5:16 ` Herbert Xu
2019-05-16 7:18 ` [PATCH 0/2] rhashtable: Fix sparse warnings Herbert Xu
2019-05-16 16:45 ` David Miller
2019-05-16 7:19 ` [PATCH 1/2] rhashtable: Remove RCU marking from rhash_lock_head Herbert Xu
2019-05-16 7:19 ` [PATCH 2/2] rhashtable: Fix cmpxchg RCU warnings Herbert Xu
2019-05-16 9:20 ` David Laight
2019-05-16 12:42 ` Herbert Xu
2019-05-16 15:19 ` [PATCH net] rhashtable: fix sparse RCU warnings on bit lock in bucket pointer Jakub Kicinski
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=20190515150434.7ae041c8@cakuba.netronome.com \
--to=jakub.kicinski@netronome.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=neilb@suse.com \
--cc=netdev@vger.kernel.org \
--cc=oss-drivers@netronome.com \
--cc=simon.horman@netronome.com \
--cc=tgraf@suug.ch \
/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