mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-06-16 02:15:47 +00:00
kvm tools: Add debug mode to brlock
Adds a debug mode which allows to switch the brlock into a big rwlock. This can be used to verify we don't end up with a BKL kind of lock with the current brlock implementation. Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
@@ -17,9 +17,25 @@
|
||||
#define barrier() __asm__ __volatile__("": : :"memory")
|
||||
#endif
|
||||
|
||||
#ifdef KVM_BRLOCK_DEBUG
|
||||
|
||||
#include "kvm/rwsem.h"
|
||||
|
||||
DECLARE_RWSEM(brlock_sem);
|
||||
|
||||
#define br_read_lock() down_read(&brlock_sem);
|
||||
#define br_read_unlock() up_read(&brlock_sem);
|
||||
|
||||
#define br_write_lock() down_write(&brlock_sem);
|
||||
#define br_write_unlock() up_write(&brlock_sem);
|
||||
|
||||
#else
|
||||
|
||||
#define br_read_lock() barrier()
|
||||
#define br_read_unlock() barrier()
|
||||
|
||||
#define br_write_lock() kvm__pause()
|
||||
#define br_write_unlock() kvm__continue()
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user