Skip to content

Commit f2fa9b9

Browse files
image-dragonAlexei Starovoitov
authored andcommitted
bpf: use rcu_read_lock_dont_migrate() for bpf_inode_storage_free()
Use rcu_read_lock_dont_migrate() and rcu_read_unlock_migrate() in bpf_inode_storage_free to obtain better performance when PREEMPT_RCU is not enabled. Signed-off-by: Menglong Dong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
1 parent 8c0afc7 commit f2fa9b9

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

kernel/bpf/bpf_inode_storage.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,15 @@ void bpf_inode_storage_free(struct inode *inode)
6262
if (!bsb)
6363
return;
6464

65-
migrate_disable();
66-
rcu_read_lock();
65+
rcu_read_lock_dont_migrate();
6766

6867
local_storage = rcu_dereference(bsb->storage);
6968
if (!local_storage)
7069
goto out;
7170

7271
bpf_local_storage_destroy(local_storage);
7372
out:
74-
rcu_read_unlock();
75-
migrate_enable();
73+
rcu_read_unlock_migrate();
7674
}
7775

7876
static void *bpf_fd_inode_storage_lookup_elem(struct bpf_map *map, void *key)

0 commit comments

Comments
 (0)