ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Ivan Adzhubey <iadzhubey@rics.bwh.harvard.edu>
To: sisyphus@lists.altlinux.org
Subject: [sisyphus] Intel PRO/1000 & Message Signaled Interrupts
Date: Thu, 11 Sep 2008 02:53:33 -0400
Message-ID: <200809110253.33414.iadzhubey@rics.bwh.harvard.edu> (raw)

Доброго дня всем!

Мучаюсь со все тем же новым компьютером на м/п Intel DX38BT. При наличии 
сколько-нибудь заметного сетевого траффика он периодически самопроизвольно 
перегружается, больше пары часов аптайма не получается. При этом нигде не 
остается никаких следов причины ребута. Причиной собственно перезагрузок 
является как я подозреваю встроенный аппаратный watchdog, который не 
отключается полностью, несмотря на выставленные аж в двух местах в БИОСе 
опции disable. А сбоит похоже драйвер встроенной сетевой карты. Гугление дает 
наводку на то, что интелевские драйверы имеют оптимистичную привычку включать 
поддержку Message Signaled Interrupts (MSI), тогда как многие встроенные NIC, 
даже и вполне свежие, на самом деле этот режим не держат (по причине 
отсутствия в них поддержки MSI-X расширений, без которых вероятность race 
condition в ядре приближается к единице). Проблема в том, что отключить MSI в 
e1000/e1000e нельзя никак, кроме как пересборкой драйвера. Даже выставление 
noapic в параметрах загрузки ядра не помогает - все интеррапты переключаются 
в XT режим, кроме... eth0, который по-прежнему MSI. И что делать?? Говорят, 
что в 2.6.27 на эту тему есть какой-то патчик и некоторым он помогает, а у 
нас на дворе только-только 2.6.25...

Коллеги, никогда не покупайте материнских плат от Intel. Это что-то 
чудовищное.

# uname -a
Linux ika 2.6.25-std-def-alt9 #1 SMP Wed Sep 10 13:50:51 MSD 2008 x86_64 
GNU/Linux

# lsmod|fgrep e100
e1000e                115236  0

# lspci -v
00:19.0 Ethernet controller: Intel Corporation 82566DC-2 Gigabit Network 
Connection (rev 02)
        Subsystem: Intel Corporation Device 0001
        Flags: bus master, fast devsel, latency 0, IRQ 2301
        Memory at e0200000 (32-bit, non-prefetchable) [size=128K]
        Memory at e0224000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at 20e0 [size=32]
        Capabilities: [c8] Power Management version 2
        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ 
Queue=0/0 Enable+
        Capabilities: [e0] Vendor Specific Information <?>
        Kernel driver in use: e1000e
        Kernel modules: e1000, e1000e

# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  0:         37          1          0          0   IO-APIC-edge      timer
  1:          1          0          1          0   IO-APIC-edge      i8042
  3:          1          0          0          1   IO-APIC-edge
  8:          0          0          1          0   IO-APIC-edge      rtc
  9:          0          0          0          0   IO-APIC-fasteoi   acpi
 12:          0          2          0          2   IO-APIC-edge      i8042
 16:      13740      13701      13814      13856   IO-APIC-fasteoi   
fglrx[0]@PCI:1:0:0
 17:          7          5          5          6   IO-APIC-fasteoi   
uhci_hcd:usb3, ehci_hcd:usb7, HDA Intel
 18:        999       1034       1018       1032   IO-APIC-fasteoi   
uhci_hcd:usb1, uhci_hcd:usb6
 19:          0          1          2          0   IO-APIC-fasteoi   
uhci_hcd:usb5, ohci1394
 21:       3040       3012       3050       3044   IO-APIC-fasteoi   ata_piix, 
ata_piix, uhci_hcd:usb2
 22:         38         38         38         38   IO-APIC-fasteoi   HDA Intel
 23:       1103       1135       1126       1125   IO-APIC-fasteoi   
uhci_hcd:usb4, ehci_hcd:usb8
2301:     195398     195400     195275     195226   PCI-MSI-edge      eth0
NMI:          0          0          0          0   Non-maskable interrupts
LOC:     118133      98168      91687      85636   Local timer interrupts
RES:       1619        940        877       2208   Rescheduling interrupts
CAL:      22568      11422      25209      16560   function call interrupts
TLB:       4848       4928       6267       6532   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
SPU:          0          0          0          0   Spurious interrupts
ERR:          0


--Иван


             reply	other threads:[~2008-09-11  6:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-11  6:53 Ivan Adzhubey [this message]
2008-09-11  7:05 ` Konstantin A. Lepikhov
2008-09-11  7:21   ` Ivan Adzhubey
2008-09-11  7:09 ` Michael A. Kangin
2008-09-11  7:19   ` Ivan Adzhubey
2008-09-11  7:37     ` Алексей Шенцев
2008-09-11  7:40     ` Sergey
2008-09-11  7:48       ` Ivan Adzhubey
2008-09-11  7:24   ` Алексей Шенцев
2008-09-11  7:30 ` Sergey
2008-09-11  7:42   ` Ivan Adzhubey
2008-09-11  7:54     ` Sergey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200809110253.33414.iadzhubey@rics.bwh.harvard.edu \
    --to=iadzhubey@rics.bwh.harvard.edu \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git