[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201114154632.55e87b1c@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Sat, 14 Nov 2020 15:46:32 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Thomas Falcon <tlfalcon@...ux.ibm.com>
Cc: netdev@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
dnbanerg@...ibm.com, brking@...ux.vnet.ibm.com, pradeep@...ibm.com,
drt@...ux.vnet.ibm.com, sukadev@...ux.vnet.ibm.com,
ljp@...ux.vnet.ibm.com, cforno12@...ux.ibm.com,
ricklind@...ux.ibm.com
Subject: Re: [PATCH net-next 04/12] ibmvnic: Introduce xmit_more support
using batched subCRQ hcalls
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 <tlfalcon@...ux.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.
Powered by blists - more mailing lists