sleep under spinlock detection

Peter T. Breuer (ptb@it.uc3m.es)
Thu, 5 Jun 2003 14:05:09 +0200 (MET DST)


I've put a prototype c-code analyser on the net at

ftp://oboe.it.uc3m.es/pub/Programs/c-1.0.tgz

It currently is only detecting sleep under spinlock (and needs another
pass to do it with full accuracy). But it's a start. I've run it over
about 28KLOC so far.

% ./c -D__KERNEL__ -DMODULE -I/usr/local/src/linux-2.4.17rc2-xfs/include ../dbr/1/sbull.c
gcc -D__KERNEL__ -DMODULE -I/usr/local/src/linux-2.4.17rc2-xfs/include -E ../dbr/1/sbull.c -o .gcc-nM5VVc
eek! index 353 has no key in db
can't find key 353!
eek! index 352 has no key in db
can't find key 352!
eek! index 352 has no key in db
can't find key 352!
eek! index 352 has no key in db
can't find key 352!
smb_lock_server is sleepy because it calls down.4605
lock_parent is sleepy because it calls down.6287
double_down is sleepy because it calls down.6310
triple_down is sleepy because it calls down.6340
double_lock is sleepy because it calls double_down.6358
lock_super is sleepy because it calls down.9463
sbull_ioctl is sleepy because it calls interruptible_sleep_on.10021
***
*** sleep under spinlock at file="../dbr/1/sbull.c" about line=420
***
sbull_request is sleepy because it calls interruptible_sleep_on.10182
sbull_init is sleepy because it calls kfree.10244
sbull_cleanup is sleepy because it calls kfree.10264

Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/