[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/52111: wmX i82574L inoperative in monoprocessor mode (i386)
The following reply was made to PR kern/52111; it has been noted by GNATS.
From: Frank Kardel <kardel%netbsd.org@localhost>
Subject: Re: kern/52111: wmX i82574L inoperative in monoprocessor mode (i386)
Date: Tue, 28 Mar 2017 10:34:59 +0200
On 03/28/17 06:46, Kengo NAKAHARA wrote:
> On 2017/03/27 18:25, Kengo NAKAHARA wrote:
>> On 2017/03/27 17:42, Martin Husemann wrote:
>> > On Mon, Mar 27, 2017 at 11:27:17AM +0900, Kengo NAKAHARA wrote:
>> >> Hmm...., It is strange to me that wm(4) use two TX and RX interrupts on
>> >> uniprocessor system.
> email@example.com send dmesg to me with individually mail. The dmesg has two bootup
> records, that is,
> - If "boot -1", wm(4) use one TX and RX interrupt
> - If boot normal, wm(4) use two TX and RX interrupt
> These are what I expected. I think it would be copy&paste miss that
> two TX and RX interrupts when "boot -1".
> And then, I try to reproduce this problem, but I cannot yet. I use
> NetBSD-current(at 2017/03/28 GENERIC) i386 with 82574, ping(8) with
> "ip address" works well in the environment. I think firstname.lastname@example.org use
> custom kernel, so I try to reproduce with kernel enabled GATEWAY option.
> however this problem is not reproduced either.
> email@example.com, could you tell your kernel configuration(if there is
> modification from GENERIC other than GATEWAY), your machine
> setting(e.g. additional sysctl operation), and detail reproduction
I just rebooted with GENERIC "boot netbsd.GENERIC-act -1".
Same sad story. So we can avoid going throught the differences.
looking with gdb into the live kernel I see
(gdb) print hardclock_ticks
$13 = 68486
(gdb) print hardclock_ticks
$14 = 68766
it is the right one (not the image)
(gdb) print ncpus
$19 = 0
uniprocessor going by source comments,
(gdb) print mp_online
$18 = 1
multiprocessor - unconditionally set in init_main.c:configure2 before
building a true non multiprocessor kernel didn't succeed via
configuration. There are already MP assuptions in
the x86 code.
if you disable __HAVE_PREEMENTION you trip over
'mp_trampoline_paddr' undeclared (first use in this function)
then I stopped trying to build a true non MP kernel.
The wm configuration for the GENERIC kernel is:
wm0 at pci5 dev 0 function 0: Intel i82574L (rev. 0x00)
wm0: for TX and RX interrupting at msix0 vec 0 affinity to 0
wm0: for LINK interrupting at msix0 vec 1
wm0: PCI-Express bus
wm0: 2048 words (8 address bits) SPI EEPROM, version 2.1.2, Image Unique
wm0: Ethernet address 00:00:xx:y:zz:ec
wm interrupts don't work in GENERIC either. ARP is not resolved.
looking at tcpdump I only see transmitted packets - no received packets
(not even broadcasts) which supports the
assumption that the receive path is broken
sysctl variables look unsuspicious:
what else should I look at?
Main Index |
Thread Index |