Re: Panic with this morning's (~9am EDT, 15 jan 2004) sources.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 16 Jan 2004 16:59:42 -0500
On Friday 16 January 2004 04:03 pm, Dag-Erling Smørgrav wrote:
> John Baldwin <jhb_at_FreeBSD.org> writes:
> > 	while (newfdp blah fdp) {
> > 		FILEDESC_UNLOCK(fdp);
> > 		FILEDESC_LOCK(newfdp);
> > 		fd_growtable(newfdp);
> > 		FILEDESC_UNLOCK(newfdp);
> > 		FILEDESC_LOCK(fdp);
> > 	}
>
> I guess...  seems like a bloody waste of cycles 

You could only lock newfdp #ifdef INVARIANTS perhaps since that is the only 
reason you are doing it.  That doesn't pessimize production kernels while 
still letting your assertions work ok.  You could also perhaps tweak the 
mtx_assert to somehow check the state of the fd pointer to see if it is a new 
table (refcount of 0 or some such)

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Fri Jan 16 2004 - 13:00:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:38 UTC