Does this always avoid copying when bridging/openvswitching/forwardingI've tested the domU->domU, domU->physical with bridge and openvswitch usecase, and now I've created a new stat counter to see how often copy happens (the callback's second parameter tells you whether the skb was freed or copied). It doesn't do copy in all of these scenarios.
(e.g. masquerading etc)? For both domU->domU and domU->physical NIC?
How does it deal with broadcast traffic?Most of the real broadcast traffic actually small packets fit in the PKT_PROT_LEN sized linear space, so it doesn't make any difference, apart from doing a mapping before copy. But that will be eliminated later on, I plan to add an incremental improvement to grant copy the linear part.
Do you have any numbers for the dom0 cpu usage impact?DomU->NIC: the vif took 40% according to top, I guess the bottleneck there is the TLB flushing.
Aggregate throughput for many guests would be a useful datapoint too.I will do measurements about that.
Likely to be true, but it would still be interesting to know how badlyI can't find my numbers, but as far as I remember it wasn't significantly worse than grant copy. I will check that again.
this use case suffers with this change, and any increase in CPU usage
would be interesting to know about as well.