Re: [RFC 1/2] irq: record edge-level setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 24 Apr 2006 15:34:20 -0700 (PDT)
Linus Torvalds <[email protected]> wrote:

> 
> 
> On Mon, 24 Apr 2006, Stephen Hemminger wrote:
> > 
> > Maybe that's why it never was done in the past, too much work and historical
> > baggage.
> 
> It's messy. That whole ELCR register was mis-designed: you can change the 
> edge/level detection with it, but since it _also_ changes the polarity of 
> the signal, you can't actually do so from a sw angle, and it has to match 
> the hardware. So you can't say "I want to treat this interrupt as level 
> triggered", and just set the bit ;^/
> 
> To make matters worse, I wouldn't be in the least surprised if the ELCR 
> register is totally ignored by many south-bridges for the internally 
> generated interrupts (ie devices that are embedded in the SB), since the 
> register really doesn't matter for them.
> 
> And it doesn't help that Intel mis-designed the edge-detection logic on 
> the IO-APIC. On the old i8259, if you masked an interrupt and unmasked it, 
> an active interrupt would always be seen as an edge, because the 
> edge-detection was done _after_ masking. On the IO-APIC crap, the masking 
> is done after edge-detection, so if you mask the APIC hardware level, and 
> an edge happens, you'll never ever learn of it ever again.

That is the kind of crap that makes NAPI difficult.
See Documentation/networking/NAPI_HOWTO.txt for rotting packet..

> I'm sure other system architectures have similar problems, but it's 
> irritating.
> 
> 			Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux