Re: WITNESS + WITNESS_SKIPSPIN = panic
Peter Jeremy <[EMAIL PROTECTED]> writes: > Is there any progress on fixing this? I posted a patch a couple of months ago. Search the archives. DES -- Dag-Erling Smorgrav - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: WITNESS + WITNESS_SKIPSPIN = panic
On 16-Apr-01 Peter Jeremy wrote: > On 2001-Apr-14 18:54:28 -0700, John Baldwin <[EMAIL PROTECTED]> wrote: >> >>On 14-Apr-01 Peter Jeremy wrote: >>> Is there any progress on fixing this? >>> >>> Peter >> >>It panics? I'll see if I can reproduce this on Monday. I never use >>skipspin. > > A similar problem was reported here in mid-March, ending with the > following message: > > On Mon, 12 Mar 2001 10:49:51 -0800 (PST), in > <[EMAIL PROTECTED]>, John Baldwin <[EMAIL PROTECTED]> wrote: >>Just don't use the skipspin stuff, it shouldn't hurt at all. The new witness >>code will hopefully be in by the end of the week. *crosses fingers* > > I bumped into the same problem last week and couldn't find anything > that looked like a change in the skipspin behaviour since mid-March. > > Having looked in more detail at the previous thread, I suspect I may > be seeing something different. In my case, the kernel is panicing > very early during the boot process in either line 302 or 305 of > /sys/kern/subr_witness.c in witness_initialize(): > > 299 /* First add in all the specified order lists. */ > 300 for (order = order_lists; order->w_name != NULL; order++) { > 301 w = enroll(order->w_name, order->w_class); > 302 w->w_file = "order list"; > 303 for (order++; order->w_name != NULL; order++) { > 304 w1 = enroll(order->w_name, order->w_class); > 305 w1->w_file = "order list"; > 306 itismychild(w, w1); > 307 w = w1; > 308 } > 309 } > > The problem is that enroll() will return NULL for spinlocks when > witness_skipspin is set, but the above code always assumes it > can de-reference the result from enroll(). (There are two other > calls to enroll() where a NULL return appears to be acceptable). Argh, ok. > I don't understand the mutex initialisation well enough to be able > to readily work out the correct fix. I'll fix it later on today. > Peter -- John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: WITNESS + WITNESS_SKIPSPIN = panic
On 2001-Apr-14 18:54:28 -0700, John Baldwin <[EMAIL PROTECTED]> wrote: > >On 14-Apr-01 Peter Jeremy wrote: >> Is there any progress on fixing this? >> >> Peter > >It panics? I'll see if I can reproduce this on Monday. I never use skipspin. A similar problem was reported here in mid-March, ending with the following message: On Mon, 12 Mar 2001 10:49:51 -0800 (PST), in <[EMAIL PROTECTED]>, John Baldwin <[EMAIL PROTECTED]> wrote: >Just don't use the skipspin stuff, it shouldn't hurt at all. The new witness >code will hopefully be in by the end of the week. *crosses fingers* I bumped into the same problem last week and couldn't find anything that looked like a change in the skipspin behaviour since mid-March. Having looked in more detail at the previous thread, I suspect I may be seeing something different. In my case, the kernel is panicing very early during the boot process in either line 302 or 305 of /sys/kern/subr_witness.c in witness_initialize(): 299 /* First add in all the specified order lists. */ 300 for (order = order_lists; order->w_name != NULL; order++) { 301 w = enroll(order->w_name, order->w_class); 302 w->w_file = "order list"; 303 for (order++; order->w_name != NULL; order++) { 304 w1 = enroll(order->w_name, order->w_class); 305 w1->w_file = "order list"; 306 itismychild(w, w1); 307 w = w1; 308 } 309 } The problem is that enroll() will return NULL for spinlocks when witness_skipspin is set, but the above code always assumes it can de-reference the result from enroll(). (There are two other calls to enroll() where a NULL return appears to be acceptable). I don't understand the mutex initialisation well enough to be able to readily work out the correct fix. Peter To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
RE: WITNESS + WITNESS_SKIPSPIN = panic
On 14-Apr-01 Peter Jeremy wrote: > Is there any progress on fixing this? > > Peter It panics? I'll see if I can reproduce this on Monday. I never use skipspin. -- John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message