----- Original Message ----- >Date: Wed, 02 Sep 2009 22:27:30 -0500 >From: Steven Stallion <stall...@opensolaris.org> >To: driver-discuss@opensolaris.org >Subject: [driver-discuss] Hard hang during interrupt processing > > >All, > >I have been finishing up support for the RTL8029(AS) chipsets for >support in Parallels VMs and have stumbled across a rather nasty issue >seen during packet reception in the re(7D) ISR. > >Essentially, under heavy/moderate load, the machine hard hangs. >Unfortunately my main test machine is a uniproc, and the deadman timer >has not been of any use. > >Earlier this evening, I fired up the driver in an Ultra 24 (dual core), >reproduced the hang, and was able to break into kmdb. After doing a bit >of digging around, ::cpustack on the hung processor revealed the >following call stack: > >resume_from_intr >ddi_io_put8 >av_dispatch_autovect >dispatch_hardint >switch_sp_and_call > >Unfortunately, the dump device timed out, so I was unable to save the >core (hence the psuedo backtrace above). > >What I find particularly peculiar here, is no kthread in the system was >anywhere near the re`re_intr ISR or anywhere else in the re module. > >Garrett mentioned that he may have seen something similar to this >before, but was unable to recall anything specific. > >Ideas?
Hi Steve, If it is an interrupt handler related issue, I'd like to check following. Did rx overrun happen? Do you use a mutex to make register page selection and register read/write operations atomic? Do you reset interrupt signal explicitly by clearing and setting interrupt mask register in the interrupt handler? -masa >Steve >_______________________________________________ >driver-discuss mailing list >driver-discuss@opensolaris.org >http://mail.opensolaris.org/mailman/listinfo/driver-discuss _______________________________________________ driver-discuss mailing list driver-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/driver-discuss