[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: Question on sg in netback tx path




> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> James Harper
> Sent: Monday, March 03, 2008 9:03 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-devel] Question on sg in netback tx path
>
> I'm trying to improve performance on the gpl pv drivers for
> windows, and am running into trouble with the sg stuff on the tx path.
>
> Taking an icmp packet as an example, windows formats the packet like
> this:
> sg entry 0 - Ethernet header
> sg entry 1 - IP header
> sg entry 2 - payload
>
> Those pieces could be anywhere inside the page.
>
> In netback.c, it appears that the sg magic happens inside
> netbk_count_requests. The following statement confuses me:
>
> "
>                 if (txp->size > first->size) {
>                         DPRINTK("Frags galore\n");
>                         return -frags;
>                 }
> "
>
> If I interpret the implications of that correctly, the 'size'
> field in the first fragment of a packet should be the size of
> the entire packet,

  Correct.

>but then how do I tell netback how long my
> first fragment is?

  Look at the line following the code above:
                first->size -= txp->size;

  This line subtract each fragment size from the "size" field in the first 
fragment.
  When the loop ends you will have subtracted the size of all fragments and 
first->size will now have the actual size of the first fragment.

Renato

>
> Thanks
>
> James
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.