Subject: Re: [Xen-devel] [3.15-rc3] Bisected: xen-netback mangles packets between two guests on a bridge since merge of "TX grant mapping with SKBTX_DEV_ZEROCOPY instead of copy" series.

From: Zoltan Kiss <[email-masked]>
Date: Fri, 2 May 2014 15:00:40 +0100

>> Let's see what that does different and if that gives an insight in what is going
>> wrong.
>
> The debug patch that i used is attached.
> Here is some of the output, skb->data_len size sometimes varies slightly as does skb->truesize (is that allowed to become > 64k ?).
Yes, truesize can be over 64K, as it includes the aligned size of the 
data itself (64k max), struct skbuff and struct shared_info.
However my calculation for the truesize might be wrong: I count all the 
frags as full sized pages (skb->truesize += i * PAGE_SIZE), but the last 
page is not necessarily used entirely by that frag.
I had the idea that truesize should include the size of the whole page 
as we reserved it with alloc_page for this skb, but it might not be true.
Btw. with you "skb->truesize -= nskb->data_len;" version truesize should 
end up around 128k, something entirely wrong. Can you try with 
"skb->truesize -= nskb->data_len;" in that line?
My repro env is underway in the meantime ...

Regards,

Zoli