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: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
2d9200cfe0
commit
aab5e0972a
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user