Commit aab5e097 authored by Kent Overstreet's avatar Kent Overstreet

six locks: Disable percpu read lock mode in userspace

When running in userspace, we currently don't have a real percpu
implementation available - at least in bcachefs-tools, which is where
this code is currently used in userspace.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 2d9200cf
......@@ -870,6 +870,11 @@ void __six_lock_init(struct six_lock *lock, const char *name,
lockdep_init_map(&lock->dep_map, name, key, 0);
#endif
/*
* Don't assume that we have real percpu variables available in
* userspace:
*/
#ifdef __KERNEL__
if (flags & SIX_LOCK_INIT_PCPU) {
/*
* We don't return an error here on memory allocation failure
......@@ -880,5 +885,6 @@ void __six_lock_init(struct six_lock *lock, const char *name,
*/
lock->readers = alloc_percpu(unsigned);
}
#endif
}
EXPORT_SYMBOL_GPL(__six_lock_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment