2003-06-05 11:51:48

by Peter T. Breuer

[permalink] [raw]
Subject: sleep under spinlock detection

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


2003-06-05 12:55:10

by Dave Jones

[permalink] [raw]
Subject: Re: sleep under spinlock detection

On Thu, Jun 05, 2003 at 02:05:09PM +0200, Peter T. Breuer wrote:
> I've put a prototype c-code analyser on the net at
>
> ftp://oboe.it.uc3m.es/pub/Programs/c-1.0.tgz
>

--15:06:22-- ftp://oboe.it.uc3m.es/pub/Programs/c-1.0.tgz
=> `c-1.0.tgz'
Resolving oboe.it.uc3m.es... done.
Connecting to oboe.it.uc3m.es[163.117.139.101]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/Programs ... done.
==> PASV ... done. ==> RETR c-1.0.tgz ...
No such file `c-1.0.tgz'.

Dave

2003-06-05 13:43:07

by Peter T. Breuer

[permalink] [raw]
Subject: Re: sleep under spinlock detection

"Dave Jones wrote:"
> On Thu, Jun 05, 2003 at 02:05:09PM +0200, Peter T. Breuer wrote:
> > I've put a prototype c-code analyser on the net at
> >
> > ftp://oboe.it.uc3m.es/pub/Programs/c-1.0.tgz
>
> --15:06:22-- ftp://oboe.it.uc3m.es/pub/Programs/c-1.0.tgz
> => `c-1.0.tgz'
> Resolving oboe.it.uc3m.es... done.
> Connecting to oboe.it.uc3m.es[163.117.139.101]:21... connected.
> Logging in as anonymous ... Logged in!
> ==> SYST ... done. ==> PWD ... done.
> ==> TYPE I ... done. ==> CWD /pub/Programs ... done.
> ==> PASV ... done. ==> RETR c-1.0.tgz ...
> No such file `c-1.0.tgz'.

Sorry about that - lunch error. Now there.

oboe:/home/ftp/pub/Programs% ls -l c-1.0.tgz
-rw-r--r-- 1 root prof 90617 Jun 5 15:17 c-1.0.tgz


Peter