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.orgReceived 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