Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2001 06:14:45 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Danny Braniss <danny@cs.huji.ac.il>
Cc:        Bernd Walter <ticso@cicely8.cicely.de>, Mike Smith <msmith@FreeBSD.ORG>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: irq
Message-ID:  <3C1614D5.B5C3B4C5@mindspring.com>
References:  <E16Dk3D-000AIb-00@pampa.cs.huji.ac.il>

next in thread | previous in thread | raw e-mail | index | archive | help
Danny Braniss wrote:
> 
> > It looks like IRQ sharing is the only issue here.
>
> Q: are all interrupt handlers for the shared irq called, or only the
>    'correct' one?

All interrupt handlers are polled -- asked if they have work to do,
on the basis of having caused the interrupt.

Some cards do not have a hardware "I caused an interrupt" register,
and use a differential (e.g. ring head vs. tail inequal after
interrupt) to tell if there is work to do.  If these cards were to
share interrupts, then they most likely do work every interrupt,
and less work per interrupt, then would otherwise be the case (i.e.
it would defeat hardware interrupt coelescing thresholds, among
other things).


> [...]
> 
> > But I would still blame software (in particular, the firmware on
> > your Meteor).
> >
> > -- Terry
> 
> isn't firmware another word for hardware :-)?

No, because you can fix firmware in software, but you can't fix
hardware in software, and get anywhere near the performance (e.g.
CMD640B, etc.).  For example, you could use the PCI bus management
code to ensure broken cards got seperate interrupts from all other
cards.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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