From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH v2 7/8] kvm tools: Add debug mode to brlock Date: Mon, 30 May 2011 11:30:46 +0300 Message-ID: <1306744247-26051-7-git-send-email-levinsasha928@gmail.com> References: <1306744247-26051-1-git-send-email-levinsasha928@gmail.com> Cc: kvm@vger.kernel.org, mingo@elte.hu, asias.hejun@gmail.com, gorcunov@gmail.com, prasadjoshi124@gmail.com, Sasha Levin To: penberg@kernel.org Return-path: Received: from mail-wy0-f174.google.com ([74.125.82.174]:44843 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753901Ab1E3Ibr (ORCPT ); Mon, 30 May 2011 04:31:47 -0400 Received: by mail-wy0-f174.google.com with SMTP id 21so2460435wya.19 for ; Mon, 30 May 2011 01:31:47 -0700 (PDT) In-Reply-To: <1306744247-26051-1-git-send-email-levinsasha928@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: 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 --- tools/kvm/include/kvm/brlock.h | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/tools/kvm/include/kvm/brlock.h b/tools/kvm/include/kvm/brlock.h index 1863166..4cc0521 100644 --- a/tools/kvm/include/kvm/brlock.h +++ b/tools/kvm/include/kvm/brlock.h @@ -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 -- 1.7.5.rc3