Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 131274 - most interrupts are edge triggered
Summary: most interrupts are edge triggered
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-25 14:41 UTC by João Oliveirinha
Modified: 2006-06-06 04:43 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
2.6.17-rc2 dmesg (dmesg,17.54 KB, patch)
2006-04-25 15:56 UTC, Daniel Drake (RETIRED)
Details | Diff
/proc/interrupts (interrupts,578 bytes, text/plain)
2006-04-25 15:56 UTC, Daniel Drake (RETIRED)
Details
dmesg lapic (dmesg_lapic,17.04 KB, text/plain)
2006-04-26 07:17 UTC, João Oliveirinha
Details
/proc/interrupts log with lapic (interrupts,555 bytes, text/plain)
2006-04-26 07:17 UTC, João Oliveirinha
Details
.config (.config,33.14 KB, text/plain)
2006-04-26 13:36 UTC, João Oliveirinha
Details
dmesg_debug_acpi (dmesg_debug_acpi,18.98 KB, text/plain)
2006-04-27 11:17 UTC, João Oliveirinha
Details
ACPI dump with 2.6.16 kernel (acpi_dump_2.6.16,130.17 KB, text/plain)
2006-04-28 03:06 UTC, João Oliveirinha
Details
ACPI dump with 2.6.17-rc3 kernel (acpi_dump_2.6.17-rc3,130.17 KB, text/plain)
2006-04-28 12:29 UTC, João Oliveirinha
Details

Note You need to log in before you can comment on or make changes to this bug.
Description João Oliveirinha 2006-04-25 14:41:56 UTC
I have a problem with my network card. I have reported the bug here (id 127367) but the developer of sky2 driver thinks that this is a ACPI/BIOS issue.

This is his comment:


The problem is that many devices are sharing the same interrupt, and the
interrupt  is getting programmed to edge triggered.  You might investigate BIOS
settings or it could be an ACPI bug.

The relevant lines are in /proc/interrupts:
 11:         27          XT-PIC  uhci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5,  
  yenta, sdhci:slot0, sdhci:slot1, sdhci:slot2, ohci1394, sky2

In dmesg output:
ACPI: setting ELCR to 0200 (from 0c20)

The ELCR register is the edge versus level triggered control register. For some
reason, ACPI is deciding to set it 0200 which means only IRQ 9 is level
triggered.

Network devices using NAPI won't work with edge triggered interrupts and shared
IRQ's won't work properly with edge triggered interrupts.

---
Comment 1 Daniel Drake (RETIRED) gentoo-dev 2006-04-25 15:55:07 UTC
Stephen's words of wisdom:

It is absolutely needed by sky2 and most network devices using NAPI
that the IRQ be level triggered. This is usually set in the BIOS, but
you may have some control by choosing to build the kernel to use IO-APIC
even on single CPU. Often the problem can happen from ACPI bugs because
if ACPI doesn't parse the BIOS information correctly, it will misconfigure
interrupt routing as well.

To tell if you have level triggered look at /proc/interrupts.  For the
IO-APIC case it tells you directly. For the XT-PIC case it is worse, you
have to go looking for a "ELCR" line in the boot log.  ELCR is the 
Edge-Level triggered Control Register.  Each bit corresponds to one irq.
Comment 2 Daniel Drake (RETIRED) gentoo-dev 2006-04-25 15:56:13 UTC
Created attachment 85498 [details, diff]
2.6.17-rc2 dmesg

taken from other bug
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2006-04-25 15:56:37 UTC
Created attachment 85499 [details]
/proc/interrupts

from other bug
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2006-04-25 16:03:13 UTC
I'm going to ignore the fact that your XT-PIC interrupts are edge-triggered for now, and see if we can get APIC working.

Your dmesg shows:
Local APIC disabled by BIOS -- you can enable it with "lapic"

Firstly, is a BIOS update available? Which laptop/motherboard is this?

To force enable APIC, you can add "lapic" to your kernel boot parameters (found in your bootloader config). Can I see a dmesg dump and /proc/interrupts where you have used this option?
Comment 5 João Oliveirinha 2006-04-26 07:17:06 UTC
Created attachment 85540 [details]
dmesg lapic
Comment 6 João Oliveirinha 2006-04-26 07:17:47 UTC
Created attachment 85541 [details]
/proc/interrupts log with lapic
Comment 7 João Oliveirinha 2006-04-26 07:19:15 UTC
I already check and my bios is up to date.. my dsdt table compiled without errors.

I have a Toshiba M40-298 Laptop.

I hope this helps.
Comment 8 Daniel Drake (RETIRED) gentoo-dev 2006-04-26 09:11:26 UTC
Ok, enabling the APIC didn't really do much. Can you please attach your .config?
Comment 9 João Oliveirinha 2006-04-26 13:36:13 UTC
Created attachment 85564 [details]
.config
Comment 10 Daniel Drake (RETIRED) gentoo-dev 2006-04-26 14:02:03 UTC
Ok - it looks like your APIC is either non-existant or totally broken, so we'll have to go back to debugging ACPI's interrupt handling.

Please enable CONFIG_ACPI_DEBUG and then post new dmesg logs.
Comment 11 João Oliveirinha 2006-04-27 11:17:19 UTC
Created attachment 85619 [details]
dmesg_debug_acpi
Comment 12 Daniel Drake (RETIRED) gentoo-dev 2006-04-27 15:32:35 UTC
I know this list of requests is getting a little excessive, apologies for that. At least we are making progress.

Please test vanilla-sources-2.6.17_rc3, which includes some possible patches for getting sky2 operational with edge triggered interrupts.

Please obtain a complete ACPI dump using "acpidump" found in http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/pmtools-20051111.tar.gz and attach it to this bug.
Comment 13 João Oliveirinha 2006-04-28 03:06:04 UTC
Created attachment 85654 [details]
ACPI dump with 2.6.16 kernel
Comment 14 João Oliveirinha 2006-04-28 12:29:18 UTC
Created attachment 85685 [details]
ACPI dump with 2.6.17-rc3 kernel

Now the driver is worst .. it just hang up as usual but now... it is very very very slow.. it's like a 14k modem or worst..

No problem about the requests Daniel. I just want my NIC to work.. :(
Comment 15 Daniel Drake (RETIRED) gentoo-dev 2006-04-28 13:10:01 UTC
I got the impression from the other bug that with recent kernels (2.6.16 and 2.6.17-rc) the driver was almost entirely useless, i.e. you couldn't even establish a single connection or resolve a hostname.

Are you saying that the driver in 2.6.17-rc3 works better, albeit very very slowly overall?
Comment 16 João Oliveirinha 2006-04-28 14:05:33 UTC
The sky2 works on 2.6.16 but crashs if I try to serve ftp,samba, http..... anything.
But with 2.6.16-rX and 2.6.17-RCX I cant even resolve a hostame..

Now with 2.6.17-rc3 it works like 2.6.16 but very slow..
Comment 17 João Oliveirinha 2006-05-15 16:16:18 UTC
Hi Daniel..

No more news about related to this bug?

Thanks
Comment 18 Daniel Drake (RETIRED) gentoo-dev 2006-05-15 16:27:32 UTC
sky2 should be working in 2.6.17-rc4 and next gentoo-sources release, still need to chase up on the edge triggered interrupt stuff...
Comment 19 João Oliveirinha 2006-05-26 16:37:08 UTC
I am testing now sky2 1.4 and the driver now is more stable .. (equal to 0.15(kernel 2.6.16)) i think

But it hang's up as always on heavy upload traffic...
Comment 20 Daniel Drake (RETIRED) gentoo-dev 2006-06-01 14:06:33 UTC
http://thread.gmane.org/gmane.linux.acpi.devel/17830/focus=17830
Comment 21 Daniel Drake (RETIRED) gentoo-dev 2006-06-06 04:43:00 UTC
Response at http://marc.theaimsgroup.com/?l=linux-acpi&m=114953304620856&w=2 shows that the interrupts are actually level triggered, so thats ok.

If you still experience problems with sky2 on the latest kernel (2.6.16-r9), please open a new bug.