[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1381783206.2045.3.camel@edumazet-glaptop.roam.corp.google.com>
Date: Mon, 14 Oct 2013 13:40:06 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Kyle Hubert <khubert@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: SW csum errors
On Mon, 2013-10-14 at 16:13 -0400, Kyle Hubert wrote:
> My problem is rather specific. I am working on an RDMA device, and we
> have full end to end reliability. However, one of the initial spins of
> our chip had some errors, since fixed, where the csum was unreliable.
> So, we did exactly what Dave Miller warned not to do in the linked
> message. We ran outgoing IP packets through the SKB checksum
> function.. Unfortunately, we occasionally saw NFS csum errors on full
> MTU packets.
>
> Here is his response:
>
> http://marc.info/?l=linux-netdev&m=128286758300676&w=2
>
> Relevant portion:
>
> "
> Paged SKBs can have references to page cache pages and similar. These
> can be updated asynchronously to the transmit, there is no locking at
> all to freeze the contents, and therefore full checksum offload is
> required to support SG correctly.
>
> So don't get the idea to do the checksum in software in the infiniband
> layer, and advertize hw checksumming support, to get around this :-)
> "
>
> Now that those chips have long gone, I am left pondering about these
> packets "corrupted" before the device transfers them. Can I get more
> information about these paged SKBs with asynchronous modifications?
> How does NFS use them?
For a start try :
git grep -n SKBTX_SHARED_FRAG
git grep -n skb_has_shared_frag
git show cef401de7be8c4e
git show c9af6db4c11ccc6
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists