Re: Interrupt storm with shared interrupt on digi(4)



On 2008-Jun-03 10:21:35 -0400, John Baldwin <jhb@xxxxxxxxxxx> wrote:
In the past, I have managed to avoid the problem by putting the Digi
card on a dedicated interrupt. For reasons I don't understand, this
appears to mask the problem.

That is because we leave interrupts masked until it gets an interrupt handler.
Since digi(4) doesn't register a handler, we leave the interrupt masked
unless some other device is sharing the same interrupt and registers a
handler.

This is what I assumed but doesn't explain how having two digi boards
that share an interrupt with each other but nothing else winds up with
an interrupt storm. I will have to investigate further...

No. Even better would be if there was a way to disable interrupt generation
in the digi(4) driver via some register.

Agreed. Unfortunately, the only documentation is the Linux driver and it
doesn't appear to initialise the digi board any differently to FreeBSD.

Alternatively, can anyone suggest how I can disable or mask a specified
PCI interrupt?

The problem is that in this case you have another driver that is using that
interrupt, so if you completely mask the interrupt the other driver will stop
getting interrupts and likely stop working.

I agree that this approach is a hack - but it will let me work around the
problem on the problematic system.

BTW, your MUA's list-reply configuration don't recognize that
freebsd-stable@ and stable@ are aliases.

--
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.

Attachment: pgpwfF1nWgWDM.pgp
Description: PGP signature



Relevant Pages

  • Re: [PATCH 18-rc3] Fix typos in /Documentation : Q-R
    ... The driver will receive them again on the ... The kernel is entered with r3 pointing to an area of memory that is ... Bits are then right shifted into the GP_SAMPLE register at the specified ... you get an interrupt when a full DWORD is recieved. ...
    (Linux-Kernel)
  • [patch 2.6.27-rc8-git] add drivers/mfd/twl4030-core.c
    ... This patch adds the core of the TWL4030 driver, ... There are some known issues with this core code. ... * often at around 3 Mbit/sec, including for interrupt handling. ... and exports register access primitives. ...
    (Linux-Kernel)
  • Re: [PATCH] serial driver PMC MSP71xx, kernel linux-mips.git mast er
    ... serial driver PMC MSP71xx, ... interrupt, ... methods and not UART types. ... THRI interrupt -- it signifies that the TX shift register is empty, ...
    (Linux-Kernel)
  • Re: GIISR_INFO Struct
    ... Just want to clarify a bit, This particular device has 2 Interrupt ... I think perhaps you are confusing what you have to do in an ISR and an ... register pending/enable mask pair which is what GIISR is set up for. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: wireless card driver problem about the "done" bit in the descriptor && the bail caused b
    ... the VxWorks, ... or a "rxdp bail", the whileloop break, while no interrupt to make ... it off and do a jobQueuePostto wake up tNet0. ... processing driver interrupt events in a timely manner. ...
    (comp.os.vxworks)