On Tue, Sep 29, 2020 at 9:56 AM Tonghao Zhang <xiangxia.m.yue@xxxxxxxxx> wrote: > > On Tue, Sep 29, 2020 at 3:32 PM Willem de Bruijn > <willemdebruijn.kernel@xxxxxxxxx> wrote: > > > > On Tue, Sep 29, 2020 at 4:00 AM <xiangxia.m.yue@xxxxxxxxx> wrote: > > > > > > From: Tonghao Zhang <xiangxia.m.yue@xxxxxxxxx> > > > > > > Open vSwitch and Linux bridge will disable LRO of the interface > > > when this interface added to them. Now when disable the LRO, the > > > virtio-net csum is disable too. That drops the forwarding performance. > > > > I had focused on the code previously. > > > > The s/w checksum verification cost is significant in a VM with traffic > > to local destinations. A bridge does not verify transport layer > > checksums OTOH? > Hi Willem. > No, think about GRO(In the GRO we don't know packets will be forwarded > to other ports or to local). I had expected a pure bridging setup that disables LRO to disable GRO as well. But if not, then, indeed, the checksum needs to be verified before coalescing. Makes sense. > The call tree as below: > + 5.41% secondary_startup_64 > - 1.22% ret_from_fork > .... > net_rx_action > napi_poll > virtnet_poll > virtnet_receive > napi_gro_receive > dev_gro_receive > inet_gro_receive > tcp4_gro_receive > __skb_gro_checksum_complete > skb_checksum > __skb_checksum > csum_partial > do_csum > - 1.13% do_csum > > $ brctl show > bridge name bridge id STP enabled interfaces > br0 8000.001122330001 no eth1 > eth2 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization