RE: [Xen-devel] [PATCH 5/6] xen-netback: coalesce slots before copying
From: Paul Durrant <hidden>
Date: 2013-03-26 11:38:12
-----Original Message----- From: James Harper [mailto:james.harper@bendigoit.com.au] Sent: 26 March 2013 11:29 To: Paul Durrant; Wei Liu; David Vrabel Cc: Ian Campbell; Wei Liu; netdev@vger.kernel.org; konrad.wilk@oracle.com; xen-devel@lists.xen.org; annie.li@oracle.com Subject: RE: [Xen-devel] [PATCH 5/6] xen-netback: coalesce slots before copyingquoted
quoted
As stated previously, I've observed windows issuing staggering numbersofquoted
quoted
buffers to NDIS miniport drivers, so you will need to coalesce in awindowsquoted
quoted
driver anyway. I'm not sure what the break even point is but I think it'ssafequoted
quoted
to say that in the choice between using 1000 (worst case) ring slots (with the resulting mapping overheads) and coalescing in the frontend, coalescingisquoted
quoted
going to be the better option.Oh quite, if the backend is mapping and not copying then coalescing in the frontend is the right way to go. I guess coalescing once the frag count reaches a full ring count is probably necessary (since we can't push a partial packet) but it would be nice not to have to do it if the backend is going to copy anyway.For a 9k packet with 100 frags (not a common case, but an example), what is the cost of mapping those 100 frags into the backend vs coalescing to three pages in the frontend and mapping those? I may be misremembering but wasn't there a patch floating around for persistent mapping to avoid some of this overhead? (not applicable here but I thought it meant that the cost wasn't insignificant)
The current version of netback does not map, it always grant-copies. Paul