7b70176 atl1c: Fix misuse of netdev_alloc_skb in refilling rx ring
[PATCH] atl1c: use custom skb allocator
This is somewhat speculative.
Since "69b08f6 net: use bigger pages in __netdev_alloc_frag
(v3.7-rc1)" skbs allocated via netdev_alloc_skb() with len roughly < PAGE_SIZE
can have a head that crosses page boundaries. The theory is that the hardware
doesn't support this.
However, as pointed out by Eric Dumazet, the mtu can be more than 4k.
(MAX_JUMBO_FRAME_SIZE = 6122) Does it work then?
According to my math, an mtu >= 1643 will lead to rx_frag_size
>= 4096.
Thomas, out of curiosity, would you mind testing with an mtu between 1643 and
6122?
Something like:
ip link set mtu 5000 dev eth0 # on the remote host as well, important!
ping -s4900 -c1000 -f -M do $host
ip -s link show dev eth0
If that shows errors, can you test again with mtu = 1643, just to see if I got
my math right ;) You may do these tests with the stock 12.3 driver or the
updated kmp, I don't think it matters.
7b70176 atl1c: Fix misuse of netdev_alloc_skb in refilling rx ring
[PATCH] atl1c: use custom skb allocator
This is somewhat speculative.
Since "69b08f6 net: use bigger pages in __netdev_alloc_frag
(v3.7-rc1)" skbs allocated via netdev_alloc_skb() with len roughly < PAGE_SIZE
can have a head that crosses page boundaries. The theory is that the hardware
doesn't support this.
However, as pointed out by Eric Dumazet, the mtu can be more than 4k. FRAME_SIZE = 6122) Does it work then?
(MAX_JUMBO_
According to my math, an mtu >= 1643 will lead to rx_frag_size
>= 4096.
Thomas, out of curiosity, would you mind testing with an mtu between 1643 and
6122?
Something like:
ip link set mtu 5000 dev eth0 # on the remote host as well, important!
ping -s4900 -c1000 -f -M do $host
ip -s link show dev eth0
If that shows errors, can you test again with mtu = 1643, just to see if I got
my math right ;) You may do these tests with the stock 12.3 driver or the
updated kmp, I don't think it matters.
Thanks.