RE: [Xen-devel] [PATCH 5/6] xen-netback: coalesce slots before copying
From: David Laight <hidden>
Date: 2013-03-26 11:29:15
From: David Laight <hidden>
Date: 2013-03-26 11:29:15
As stated previously, I've observed windows issuing staggering numbers of buffers to NDIS miniport drivers, so you will need to coalesce in a windows driver anyway. I'm not sure what the break even point is but I think it's safe to say that in the choice between using 1000 (worst case) ring slots (with the resulting mapping overheads) and coalescing in the frontend, coalescing is going to be the better option.
A long time ago we did some calculation on a sparc mbus/sbus system (that has an iommu requiring setup for dma) and got a breakeven point of (about) 1k. (And I'm not sure we arrange to do aligned copies.) Clearly that isn't directly relevant here... It is even likely that the ethernet chips will underrun if requested to do too many ring operations - especially at their maximum speed. I guess none of the modern ones require the first fragment to be at least 100 bytes in order to guarantee retransmission after a collision. David