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

[Xen-devel] RX_COPY_THRESHOLD in netfront



Herbert,

Does the RX_COPY_THRESHOLD you added to netfront need to be as large as 256?
It seems rather large: for example, the copy length in netback for packets
being transmitted is just 64.

Also, your patch to netfront allocates a full page for each receive slot.
The skbuff 'header' area is really not much used, except for the first
RX_COPY_THRESHOLD bytes of each packet. Rather than allocating lots of
skbuffs up front and then freeing most of them when you receive jumbo
packets, why not just allocate the skbuff part in netif_poll, for each
complete packet that you detect you have received, rather than doing it in
network_alloc_rx_buffers?

Alternatively we could go back to the old method of rx buffer allocation
which allocates page-sized skbuff header areas, then unmaps the page
containing skb->head. This would avoid the need for RX_COPY_THRESHOLD, but
would constrain the location of the first packet fragment (since the skb
header area needs 16 bytes headroom and tailroom for skb_shared_info) or
we'd need a slow path to relocate the header fragment. What do you think?

 Thanks,
 Keir



_______________________________________________
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®.