Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: uvmfault (7.99.1/amd64)



Thomas Klausner wrote:
>On Sat, Sep 13, 2014 at 09:40:35AM +0100, Robert Swindells wrote:
>> >#8  0xffffffff804c3b5e in in_delayed_cksum (m=0xffff8003393c8000) at 
>> >/archive/foreign/src/sys/netinet/ip_output.c:791
>> >Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>> >
>> >This does not really look like useful information, does it?
>> 
>> Can you tell which protocol family you were using at the time ?
>
>I'm nfs-mounting via wm0:
>wm0: flags=8843<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=0
>        ec_capabilities=7<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU>
>        ec_enabled=0
>        address: ...
>        media: Ethernet autoselect (1000baseT 
> full-duplex,flowcontrol,rxpause,txpause)
>        status: active
>        inet ...
>        inet6 ...

I just added a wm card to my main system and it seems solid with all the
offload features turned on, even TSO.

Obviously it doesn't help with finding any problem in the kernel.

>My /etc/fstab has IPv4 addresses for the NFS mounts, like this:
>
>192.168.1.2:/volume1/music      /disk/music     nfs     
>intr,nodev,nosuid,rw,soft,tcp
>
>So it should be IPv4 only.

And TCP, I was using UDP over IPv6.

A common factor is writing to NFS though.

>> I was regularly getting a similar crash when using NFS over IPv6, this
>> was with a network controller that only offloads checksumming for IPv4,
>> the in_delayed_cksum() function is where the network stack does the
>> checksum in software.
>> 
>> I confess that the current way that I'm trying to fix it is by
>> switching to a network card with hardware checksumming for both IPv4
>> and IPv6.
>
>From the capabilities cited above, my card already should do that, right?

No, the enabled=0 means they are all turned off.

To turn on the checksumming you can run:

# ifconfig wm0 ip4csum udp4csum tcp4csum udp6csum tcp6csum

Or put the options in you /etc/ifconfig.wm0 file.

Don't do this if you are using bridge(4) on this machine.

Robert Swindells


Home | Main Index | Thread Index | Old Index