Joerg Schilling wrote: > "max at bruningsystems.com" <max at bruningsystems.com> wrote: > > >> Hi All, >> OK. I figured out how to get my blog stuff working in English, so you >> can also read about the modified mdb on my blog, >> http://mbruning.blogspot.com/ >> > > Well, let me take your use your work on mdb as a cause for thoughts on kmdb > usability on Solaris x86. > > Problem: > > If you do not own a x86 system that itself implements remote > administration, you need to run Solaris x86 permanently under kmdb. > > This is because the only way to abort a hung x86 system is to send > a <break> to ttya and to let kmdb handle abortion. > > Pitfall: > > If such a system panics for some reason, it will not auto-reboot > but hang until the sysadmin types e.g. ":c" at the kmdb prompt. > > Idea for solution: > > Allow to configure kmdb to fall through to dumping core in case > of a panic() call and allow to configure kmdb to wait some time > for possible adminstrative input from ttya. > > > I asume that for a simple solution it would be sufficient to prepend a > > if (!panicstr) to the for(;;) loop in kmdb_main.c::kmdb_main() > > Is this correct? > I assume you know about the "snooping" flag and deadman timer. This can be useful in getting a dump when the system is "hard" hung (i.e., you may or may not have kmdb loaded, but you can't get in).
I think better is a flag that says that when the system panics, bypass kmdb and go immediately to the dump code. And I think this should be the default behaviour. I mostly use kmdb for analyzing hangs, not panics. When the system panics, you're generally too late anyway, and I would rather run mdb on the dump (so I have full access to the machine resources). The only time I am interested in kmdb other than hangs is during development. In this case, the flag that says to bypass kmdb on panic could be turned off. Just my 2 cents. max > My other question: how to let a stand alone program / co-routine like > kmdb to check for let's say 60 seconds of unsuccessful wait for input > from stdin? > > Any thoughts? Any help? > > J?rg > >