Re: [CHECKER] potential deadlocks

From: Dawson Engler (engler@csl.stanford.edu)
Date: Mon Mar 03 2003 - 01:25:42 EST


> Dawson Engler <engler@csl.stanford.edu> wrote:
> >
> > BTW, are there known deadlocks (harmless or otherwise)? Debugging
> > the checker is a bit hard since false negatives are silent...
>
> Known deadlocks tend to get fixed. But I am surprised that you did not
> encounter more of them.

;-)

I sent out a *very* small subset of the checker's output. There are
hundreds of messages. I wanted to check on validity before flooding
people.

> btw, the filesystem transaction operations can be treated as sleeping locks.
> So for ext3, journal_start()/journal_stop() may, for lock-ranking purposes,
> be treated in the same way as taking and releasing a per-superblock
> semaphore. Other filesystems probably have similar restrictions.
>
> Other such "hidden" sleeping locks are lock_sock() and wait_on_inode(). The
> latter is rather messy because there is no clear API function which sets
> I_LOCK.
>
> And pte_chain_lock() is a custom spinlock.

Good deal. Thanks for the pointers, I was missing all of these besides
lock_sock.

One nice thing is that the race detector has been OK at pointing out
when a locking function is missing from our list.

Dawson
-
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 : Fri Mar 07 2003 - 22:00:20 EST