summaryrefslogtreecommitdiffstats
path: root/include/linux/ntb_transport.h
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2015-07-13 08:07:17 -0400
committerJon Mason <jdmason@kudzu.us>2015-09-07 15:17:08 -0400
commite74bfeedad08180b968d8613dcde141ffb0720c3 (patch)
tree989c37a03defc84cd2db4ed121bf633ebb074632 /include/linux/ntb_transport.h
parent5e9fd733fa34b491e7ac41c91aa42ba0a9d8ea10 (diff)
downloadlinux-0-day-e74bfeedad08180b968d8613dcde141ffb0720c3.tar.gz
linux-0-day-e74bfeedad08180b968d8613dcde141ffb0720c3.tar.xz
NTB: Add flow control to the ntb_netdev
Right now if we push the NTB really hard, we start dropping packets due to not able to process the packets fast enough. We need to st:qop the upper layer from flooding us when that happens. A timer is necessary in order to restart the queue once the resource has been processed on the receive side. Due to the way NTB is setup, the resources on the tx side are tied to the processing of the rx side and there's no async way to know when the rx side has released those resources. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
Diffstat (limited to 'include/linux/ntb_transport.h')
-rw-r--r--include/linux/ntb_transport.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ntb_transport.h b/include/linux/ntb_transport.h
index 2862861366a5e..7243eb98a722e 100644
--- a/include/linux/ntb_transport.h
+++ b/include/linux/ntb_transport.h
@@ -83,3 +83,4 @@ void *ntb_transport_rx_remove(struct ntb_transport_qp *qp, unsigned int *len);
void ntb_transport_link_up(struct ntb_transport_qp *qp);
void ntb_transport_link_down(struct ntb_transport_qp *qp);
bool ntb_transport_link_query(struct ntb_transport_qp *qp);
+unsigned int ntb_transport_tx_free_entry(struct ntb_transport_qp *qp);