NetBSD-Bugs archive
[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>
To: gnats-bugs%NetBSD.org@localhost
Cc:
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:
> Hi,
>
> 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.
> kardel@n.o 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 kardel@n.o use
> custom kernel, so I try to reproduce with kernel enabled GATEWAY option.
> however this problem is not reproduced either.
>
> kardel@n.o, 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
> operation?
>
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
cpu_boot_secondary_processors()
building a true non multiprocessor kernel didn't succeed via
configuration. There are already MP assuptions in
the x86 code.
(__HAVE_PREEMPTION)
if you disable __HAVE_PREEMENTION you trip over
/fs/raid2a/src/NetBSD/act/src/sys/arch/x86/x86/cpu.c:940:38: error:
'mp_trampoline_paddr' undeclared (first use in this function)
pmap_kenter_pa(mp_trampoline_vaddr, mp_trampoline_paddr,
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
ID 0000ffff
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:
#kern.timecounter.hardware=TSC
kern.timecounter.timestepwarnings=1
net.inet.ip.forwarding=1
net.inet.ip.random_id=1
net.inet6.tcp6.log_refused=1
net.inet.tcp.log_refused=1
#kern.mbuf.nmbclusters=128000
kern.maxfiles=20000
kern.maxproc=2048
net.inet.tcp.sendspace=128000
security.models.bsd44.curtain=1
hw.cnmagic=ESC^B
kern.logsigexit=1
what else should I look at?
Home |
Main Index |
Thread Index |
Old Index