This two patches optimized the virtio net header reset when TSO is not actually used (though it could be enabled). The basic idea is to not reset (assign 0) when it's already 0. This could avoid some severe cache issues. Micro benchmarking shows it could boost the performance up to 20+%.
--- Yuanhan Liu (2): net/virtio: fix performance regression due to TSO enabling net/virtio: optimize header reset on any layout drivers/net/virtio/virtio_rxtx.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) -- 1.9.0