Re: Is: SKB_MAX_LEN bites again. Was: Re: bug disabling guest interface

annie li
Wed, 13 Mar 2013 06:44:17 -0000

On 2013-3-13 4:13, Wei Liu wrote:
> Actually the copy is done with Hypervisor, I don''t know how it is
> possible to do coalesce while copying.
>
My understanding is we do coalescing in netback during grant copy. For
example,

                  gop->source.u.ref = txreq.gref;
                  gop->source.domid = vif->domid;
                  gop->source.offset = txreq.offset;

                  gop->dest.u.gmfn = virt_to_mfn(page_address(page));
--  here should be the page where we coalesce data into, it is likely
the page is the one which previous request used.
                  gop->dest.domid = DOMID_SELF;
                  gop->dest.offset = txreq.offset;  -- dest.offset
should be changed to something which represents the offset where we
start coalescing data of this request

                  gop->len = txreq.size;  -- len should be the total len
of data which we coalesce into a page
                  gop->flags = GNTCOPY_source_gref;

With this coalescing, it is possible that we could decrease the total
frags number of skb in netback.

Thanks
Annie