[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1368549970.4519.16.camel@edumazet-glaptop>
Date: Tue, 14 May 2013 09:46:10 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Michael Chan <mchan@...adcom.com>
Cc: David Laight <David.Laight@...LAB.COM>,
Nithin Nayak Sujir <nsujir@...adcom.com>,
davem@...emloft.net, netdev@...r.kernel.org, stable@...r.kernel.org
Subject: RE: [PATCH v2 net 2/2] tg3: Fix data corruption on 5725 with TSO
On Tue, 2013-05-14 at 09:19 -0700, Michael Chan wrote:
> We relocate once and then drop the packet if we encounter additional
> errors, including OOM, DMA mapping error, 4G boundary, etc. The new
> linear skb should not hit the 4G boundary again. The room between the
> end of this current buffer and 4G isn't big enough for the new linear
> skb.
This remind me an issue on bnx2x :
bnx2x FW has a limitation on GSO packets :
A single mss can not span more than 10 fragments.
After "net: use a per task frag allocator" patch, its possible
for an application interleaving small write() on several sockets
to build pathological skbs using 16 fragments (aka MAX_SKB_FRAGS)
but small amount of payload.
Fast path should build skbs with 2 or 3 fragments, as fragments
can be order-3 pages.
bnx2x driver performs an expensive skb_linearize() call and
this can fail if memory is fragmented : skb->len can be around 64K,
and including the skb_shared_info overhead, we might need order-5
pages.
--
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