On Thu, 12 Nov 2020 13:09:59 -0600 Thomas Falcon wrote: > Include support for the xmit_more feature utilizing the > H_SEND_SUB_CRQ_INDIRECT hypervisor call which allows the sending > of multiple subordinate Command Response Queue descriptors in one > hypervisor call via a DMA-mapped buffer. This update reduces hypervisor > calls and thus hypervisor call overhead per TX descriptor. > > Signed-off-by: Thomas Falcon <tlfal...@linux.ibm.com>
The common bug with xmit_more is not flushing the already queued notifications when there is a drop. Any time you drop a skb you need to check it's not an skb that was the end of an xmit_more train and if so flush notifications (or just always flush on error). Looking at the driver e.g. this starting goto: if (ibmvnic_xmit_workarounds(skb, netdev)) { tx_dropped++; tx_send_failed++; ret = NETDEV_TX_OK; goto out; } Does not seem to hit any flush on its way out AFAICS.