tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: wm(4)
On 2015/10/29 8:42, Robert Swindells wrote:
> From: SAITOH Masanobu <msaitoh%execsw.org@localhost>
>> On 2015/10/29 5:05, Robert Swindells wrote:
>>> Anyone else having problems with wm(4) in current ?
>>>
>>> Works fine in a kernel from Oct 5, doesn't do anything in latest version.
>>>
>>> The dmesg lines are:
>>>
>>> wm0 at pci3 dev 0 function 0: Intel i82574L (rev. 0x00)
>>> wm0: interrupting at ioapic0 pin 17
>>
>> Not MSI-X but INTx? Are you using Xen dom0 or non x86 machine?
>
> It is an AMD amd64 machine, not running Xen.
There are two other cases that it fallback to INTx:
a) Old or broken PCI hostbridge. There is a blacklist in x86/pci/pci_machdep.c
(pci_msi_quirk_tbl).
b) A lot of interrupts are assinged to cpu0. On x86, interrupt sources are
managed by cpu_info->ci_isources[]. It's fixed size. Legacy interrupt can
share one entry but MSI/MSI-X can't.
I suspect your machine is in b).
And I've commit the change which should fix your problem now. Could you test
the latest if_wm.c?
> Module Name: src
> Committed By: msaitoh
> Date: Thu Oct 29 07:24:01 UTC 2015
>
> Modified Files:
> src/sys/dev/pci: if_wm.c
>
> Log Message:
> Fix a bug that the multiqueue setting is done in a multiqueue capabile
> chip but can't use MSI-X on a machine. In that case, only one queue must
> be used. Written by knakahara@ and tested by me.
>
> This change should be fix a problem which was reported by Robert Swindells.
>
>
> To generate a diff of this commit:
> cvs rdiff -u -r1.374 -r1.375 src/sys/dev/pci/if_wm.c
Regards.
> I don't know whether it should support MSI-X or not, I am running a
> custom kernel on it which did not contain wmimsi and acpiwmi but adding
> them makes no difference. Is there anything else that should be added ?
>
> Output of ifconfig -v is:
>
> wm0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> capabilities=7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
> capabilities=7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
> capabilities=7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
> enabled=7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
> enabled=7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
> enabled=7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
> ec_capabilities=7<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU>
> ec_enabled=0
> address: 68:05:ca:28:b1:c7
> media: Ethernet autoselect (1000baseT full-duplex,flowcontrol,rxpause,txpause)
> status: active
> input: 5 packets, 1480 bytes
> output: 27 packets, 4156 bytes, 11 multicasts
> inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
> inet6 fe80::6a05:caff:fe28:b1c7%wm0 prefixlen 64 scopeid 0x2
>
> Also tried with all offloading options turned off, no change.
>
> Running tcpdump on another machine shows it sending ARP requests.
>
> Version 1.350 of if_wm.c works.
>
> Robert Swindells
>
--
-----------------------------------------------
SAITOH Masanobu (msaitoh%execsw.org@localhost
msaitoh%netbsd.org@localhost)
Home |
Main Index |
Thread Index |
Old Index