Bug#878242: linux-image-4.12.0-2-marvell: flood of messages "mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment"
Hi, Ben.
On Oct 12 2017, Ben Hutchings wrote:
> On Wed, 2017-10-11 at 18:09 -0300, Rogério Brito wrote:
> > Yes, I think that the problem is that the programs are getting bigger and
> > bigger. Would setting vm.min_free_kbytes to a higher value worth it?
>
> It might help, depending on how large the packets get. This driver
> supports TCP Segmentation Offload which means it can be asked to send
> 'packets' of up to 64K (which are split into multiple packets on the
> wire). It is very unlikely that it will be able to allocate a large
> enough buffer to do that. Whether it will ever get a packet that large
> depends on many factors.
OK, I have upped the value there and it, apparently, didn't make any difference.
> Now that I look at it, though, that hardware bug already has to be
> handled separately for TSO so maybe the full packet copy should only be
> done for normal packets.
Right, I tried to make sure to, indeed, have more memory than 64KB for sure
(or for copies of packets of that size and still allowing for some
overhead).
> > Anyway, I just upgraded to kernel 4.13 and I will report what I see.
>
> OK. I think we can take this upstream after that.
Well, I tried with kernel 4.13 and it still sends the same messages. The
funny thing is that it stopped doing that after something happened, which I
don't quite remember, but I have, now:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(...)
[93296.373362] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373403] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373443] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373483] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373524] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373564] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373604] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373645] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373685] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373725] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373770] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373810] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373893] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.373935] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.383150] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.383336] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[93296.385329] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[239021.470850] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[239499.067232] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[248613.887573] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[249576.969259] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[253176.329239] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[399416.742201] systemd[1]: Stopping Journal Service...
[399416.853859] systemd-journald[129]: Received SIGTERM from PID 1 (systemd).
[399417.268457] systemd[1]: Stopped Journal Service.
[399417.306314] systemd[1]: Starting Journal Service...
[399417.636328] systemd[1]: Started Journal Service.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The changes there regarding systemd were done by a package upgrade of
systemd to the version that migrated recently to testing (but the messages
stopped earlier than that). Those are the last messages that I have on my
dmesg log, BTW.
The version readable with human timestamps is:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(...)
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Thu Oct 12 19:43:38 2017] mv643xx_eth_port mv643xx_eth_port.0 eth0: failed to linearize skb with tiny unaligned fragment
[Sat Oct 14 12:12:23 2017] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[Sat Oct 14 12:20:21 2017] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[Sat Oct 14 14:52:15 2017] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[Sat Oct 14 15:08:18 2017] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[Sat Oct 14 16:08:18 2017] NFSD: client 192.168.15.10 testing state ID with incorrect client ID
[Mon Oct 16 09:45:38 2017] systemd[1]: Stopping Journal Service...
[Mon Oct 16 09:45:38 2017] systemd-journald[129]: Received SIGTERM from PID 1 (systemd).
[Mon Oct 16 09:45:39 2017] systemd[1]: Stopped Journal Service.
[Mon Oct 16 09:45:39 2017] systemd[1]: Starting Journal Service...
[Mon Oct 16 09:45:39 2017] systemd[1]: Started Journal Service.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I will try to disable the use of zswap.enabled=1 on the kernel command line
(even though I don't remember these problems happening before, while still
using that option with older kernels).
Anyway, it won't hurt to debug things a little more.
Thanks for your attention,
Rogério.
--
Rogério Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFCAAAA
http://cynic.cc/blog/ : github.com/rbrito : profiles.google.com/rbrito
DebianQA: http://qa.debian.org/developer.php?login=rbrito%40ime.usp.br
Reply to: