Subject: kern/30505: fxp locks out audio for half a second
To: None <email@example.com, firstname.lastname@example.org,>
From: None <email@example.com>
Date: 06/12/2005 12:33:00
>Synopsis: fxp locks out audio for half a second
>Arrival-Date: Sun Jun 12 12:33:00 +0000 2005
>Originator: Michael van Elst
>Release: NetBSD 3.0_BETA
Michael van Elst
"A potential Snark may lurk in every tree."
System: NetBSD pepew 3.0_BETA NetBSD 3.0_BETA (PEPEW_ACPI) #11: Sun Jun 12 14:04:40 CEST 2005 src@pepew:/usr/obj/usr/src/sys/arch/i386/compile/PEPEW_ACPI i386
The initialization of the fxp driver takes half a second at splnet().
This does disrupt other services like audio output.
The initialization is done when running 'ifconfig up', when
dhclient polls for a DHCP server and every 16 seconds if
no packet is received.
Nothing of this was observed with NetBSD-2.0.2.
The 16 second interval was introduced in NetBSD-3 as a workaround
for bugs in some fxp chipsets. However, polling a DHCP server
The system is a Dell Inspiron 8000 configured with ACPI and
Here is an excerpt from the autoconfiguration:
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
ppb1 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0x02)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
ppb2 at pci2 dev 6 function 0: Action Tec Electronics product 0x0100 (rev. 0x11)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
fxp0 at pci3 dev 4 function 0: i82559 Ethernet, rev 8
fxp0: interrupting at irq 10
fxp0: Ethernet address 00:20:e0:68:5b:cd
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
Configure and enable an fxp interface and watch output of
'vmstat 1'. Every 16 seconds you see about 40-50% of the CPU
spent for 'sy'. If you run dhclient there are additional peaks.
The output of 'top' shows that the time is really spent within
none known. Disabling the FXP_RECV_WORKAROUND stops the interruption
every 16 second, but running dhclient still causes problems.