Date: Thu, 2 Feb 2006 18:05:03 -0700 (MST) From: Scott Long <scottl@pooker.samsco.org> To: Jack Vogel <jfvogel@gmail.com> Cc: Michal Mertl <mime@traveller.cz>, Julian Elischer <julian@elischer.org>, freebsd-current@freebsd.org Subject: Re: em(4) stops forwarding Message-ID: <20060202180247.M10747@pooker.samsco.org> In-Reply-To: <2a41acea0602021701o20d66381t6c3979d7826d956a@mail.gmail.com> References: <1138813174.1358.34.camel@genius.i.cz> <43E0FE09.50804@samsco.org> <1138875351.1807.12.camel@genius.i.cz> <43E203F9.9060307@samsco.org> <1138890130.9192.3.camel@genius.i.cz> <43E2184B.3040606@samsco.org> <43E256DD.1030504@elischer.org> <2a41acea0602021701o20d66381t6c3979d7826d956a@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2 Feb 2006, Jack Vogel wrote: > On 2/2/06, Julian Elischer <julian@elischer.org> wrote: >> >> the big "workaround" that may save lives would be to have a "storm >> detection" that detects that >> an interrupt is not being reset, say, by noticing that the same >> interrupt has fired 32 times without >> ever giving the system a chance to even get out of the interrupt >> handling layer, >> and then on detection call the interrupt routine sof EVERY DRIVER that >> is registerred >> for interrupts. >> >> I have done similar to this on one of our machines where the redirected >> interrupt is being sent >> to the interrupt used by em4, when em0 gets delayed. >> >> My solution for this embedded hardware is to add a hack so that when em4 >> gets an interrupt and there >> isn't one, it goes and services all the other em devices as well. >> (remember this is for a particular hardware config so I can use >> non-general solutions).. >> >> Another way to achieve this would be to have a special driver that you >> register on the 'target' >> interrupt, that when run, calls the correct interrupt handlers :-) >> you could have a kernel module that you compile up with the correct two >> interrupts in it >> and on loading it would do the trick.. > > I have a feeling that the real fix is something down in the bottom half of > the kernel where interrupt routing is set up. I think something is wonky > down there on some new chip sets, but I'm not sure without more > research. Anyone else looking at that perhaps? > > Jack > It's quite common for laptop motherboard makers to route lots of interrupts onto the same physical line. It saves a small fraction of a penny in costs. My last Dell notebook was that way, regardless of Windows, Linux, or FreeBSD. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060202180247.M10747>