On Wed, Apr 3, 2013 at 12:03 PM, Markus Stockhausen
<[email protected]> wrote:
> going through hard lessons to understand the SKBs maybe I finally
> found the reason for the unnecessary memcpy commands. Even with
> newest 3.9-rc5 kernel the problem persists. IPoIB creates only
> fragmented SKBs without any single bit in the normal data part. Some
> debug messages during GRO handling showed
>
> skb->len         = 1988 (total data)
> skb->data_len    = 1988 (paged data)
> skb_headlen(skb) = 0    (non paged data)
>
> inet_gro_receive() requires the IP header inside the SKB. So it
> pulls missing data from fragments. This process requires extra
> memcpy operations.

Thanks for the really detailed investigation!  This makes sense.

I'll send out a proposed patch for you to test in a moment.

Thanks!
  Roland
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to