sleep under spinlock detection

From: Peter T. Breuer (ptb@it.uc3m.es)
Date: Thu Jun 05 2003 - 07:05:09 EST


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/



This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:27 EST