Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Feb 2006 17:01:12 -0800
From:      Jack Vogel <jfvogel@gmail.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        Michal Mertl <mime@traveller.cz>, freebsd-current@freebsd.org
Subject:   Re: em(4) stops forwarding
Message-ID:  <2a41acea0602021701o20d66381t6c3979d7826d956a@mail.gmail.com>
In-Reply-To: <43E256DD.1030504@elischer.org>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2a41acea0602021701o20d66381t6c3979d7826d956a>