Message ID | 152540605424.18473.310003836978239224.stgit@noble |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Series | Assorted rhashtable fixes and cleanups | expand |
On Fri, May 04, 2018 at 01:54:14PM +1000, NeilBrown wrote: > print_ht in rhashtable_test calls rht_dereference() with neither > RCU protection or the mutex. This triggers an RCU warning. > So take the mutex to silence the warning. > > Signed-off-by: NeilBrown <neilb@suse.com> I don't think the mutex is actually needed but since we don't have rht_dereference_raw and this is just test code: Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
On Sat, May 05 2018, Herbert Xu wrote: > On Fri, May 04, 2018 at 01:54:14PM +1000, NeilBrown wrote: >> print_ht in rhashtable_test calls rht_dereference() with neither >> RCU protection or the mutex. This triggers an RCU warning. >> So take the mutex to silence the warning. >> >> Signed-off-by: NeilBrown <neilb@suse.com> > > I don't think the mutex is actually needed but since we don't > have rht_dereference_raw and this is just test code: I agrees there is no functional need for the mutex. It just needed to silence the warning, so that other warnings are easier to see. > > Acked-by: Herbert Xu <herbert@gondor.apana.org.au> thanks, NeilBrown > -- > Email: Herbert Xu <herbert@gondor.apana.org.au> > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
diff --git a/lib/test_rhashtable.c b/lib/test_rhashtable.c index f4000c137dbe..bf92b7aa2a49 100644 --- a/lib/test_rhashtable.c +++ b/lib/test_rhashtable.c @@ -499,6 +499,8 @@ static unsigned int __init print_ht(struct rhltable *rhlt) unsigned int i, cnt = 0; ht = &rhlt->ht; + /* Take the mutex to avoid RCU warning */ + mutex_lock(&ht->mutex); tbl = rht_dereference(ht->tbl, ht); for (i = 0; i < tbl->size; i++) { struct rhash_head *pos, *next; @@ -532,6 +534,7 @@ static unsigned int __init print_ht(struct rhltable *rhlt) } } printk(KERN_ERR "\n---- ht: ----%s\n-------------\n", buff); + mutex_unlock(&ht->mutex); return cnt; }
print_ht in rhashtable_test calls rht_dereference() with neither RCU protection or the mutex. This triggers an RCU warning. So take the mutex to silence the warning. Signed-off-by: NeilBrown <neilb@suse.com> --- lib/test_rhashtable.c | 3 +++ 1 file changed, 3 insertions(+)