From bdc9b8583e6336bb3a44a80f10bac8b7b369719c Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Sat, 15 Aug 2015 16:43:24 +0200 Subject: kern: disable the simple lock checks while debugging * kern/lock.c (do_check_simple_locks): New variable. (check_simple_locks): Make check conditional. (check_simple_locks_{en,dis}able): New functions. * kern/lock.h (check_simple_locks_{en,dis}able): New declarations. * ddb/db_trap.c (db_task_trap): Disable simple lock checks. --- kern/lock.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'kern/lock.c') diff --git a/kern/lock.c b/kern/lock.c index 3c74fec8..d894b06c 100644 --- a/kern/lock.c +++ b/kern/lock.c @@ -136,9 +136,21 @@ struct simple_locks_info { void *ra; } simple_locks_info[NSLINFO]; +int do_check_simple_locks = 1; + void check_simple_locks(void) { - assert(simple_locks_taken == 0); + assert(! do_check_simple_locks || simple_locks_taken == 0); +} + +void check_simple_locks_enable(void) +{ + do_check_simple_locks = 1; +} + +void check_simple_locks_disable(void) +{ + do_check_simple_locks = 0; } /* Need simple lock sanity checking code if simple locks are being -- cgit v1.2.3