raw: complete rcu conversion
raw_diag_dump() can use rcu_read_lock() instead of read_lock() Now the hashinfo lock is only used from process context, in write mode only, we can convert it to a spinlock, and we do not need to block BH anymore. Signed-off-by: Eric Dumazet <edumazet@google.com> Link: https://lore.kernel.org/r/20220620100509.3493504-1-eric.dumazet@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
f9aefd6b2a
commit
af185d8c76
@@ -32,7 +32,7 @@ int raw_rcv(struct sock *, struct sk_buff *);
|
||||
#define RAW_HTABLE_SIZE MAX_INET_PROTOS
|
||||
|
||||
struct raw_hashinfo {
|
||||
rwlock_t lock;
|
||||
spinlock_t lock;
|
||||
struct hlist_nulls_head ht[RAW_HTABLE_SIZE];
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ static inline void raw_hashinfo_init(struct raw_hashinfo *hashinfo)
|
||||
{
|
||||
int i;
|
||||
|
||||
rwlock_init(&hashinfo->lock);
|
||||
spin_lock_init(&hashinfo->lock);
|
||||
for (i = 0; i < RAW_HTABLE_SIZE; i++)
|
||||
INIT_HLIST_NULLS_HEAD(&hashinfo->ht[i], i);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user