netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 0/4] xfs: Transmit flow steering
@ 2016-08-31  0:00 Tom Herbert
  2016-08-31  0:00 ` [PATCH RFC 1/4] net: Set SW hash in skb_set_hash_from_sk Tom Herbert
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Tom Herbert @ 2016-08-31  0:00 UTC (permalink / raw)
  To: davem, netdev, rick.jones2; +Cc: kernel-team

This patch set introduces transmit flow steering. The idea is that we
record the transmit queues in a flow table that is indexed by skbuff.
The flow table entries have two values: the queue_index and the head cnt
of packets from the TX queue. We only allow a queue to change for a flow
if the tail cnt in the TX queue advances beyond the recorded head cnt.
That is the condition that should indicate that all outstanding packets
for the flow have completed transmission so the queue can change.

Tracking the inflight queue is performed as part of BQL. Two fields are
added to netdevice structure: head_cnt and tail_cnt. head_cnt is
incremented in netdev_tx_sent_queue and tail_cnt is incremented in
netdev_tx_completed_queue by the number of packets completed.

This patch set creates /sys/class/net/eth*/xps_dev_flow_table_cnt
which number of entries in the XPS flow table.

Tom Herbert (4):
  net: Set SW hash in skb_set_hash_from_sk
  bql: Add tracking of inflight packets
  net: Add xps_dev_flow_table_cnt
  xfs: Transmit flow steering

 include/linux/netdevice.h | 26 +++++++++++++
 include/net/sock.h        |  6 +--
 net/Kconfig               |  6 +++
 net/core/dev.c            | 93 +++++++++++++++++++++++++++++++++++++++--------
 net/core/net-sysfs.c      | 87 ++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 199 insertions(+), 19 deletions(-)

-- 
2.8.0.rc2

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-10-07  9:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-31  0:00 [PATCH RFC 0/4] xfs: Transmit flow steering Tom Herbert
2016-08-31  0:00 ` [PATCH RFC 1/4] net: Set SW hash in skb_set_hash_from_sk Tom Herbert
2016-08-31  0:00 ` [PATCH RFC 2/4] bql: Add tracking of inflight packets Tom Herbert
2016-08-31  9:23   ` Jesper Dangaard Brouer
2016-08-31 13:08   ` Eric Dumazet
2016-08-31  0:00 ` [PATCH RFC 3/4] net: Add xps_dev_flow_table_cnt Tom Herbert
2016-08-31  0:00 ` [PATCH RFC 4/4] xfs: Transmit flow steering Tom Herbert
2016-08-31  3:14   ` Alexander Duyck
2016-08-31 18:34   ` Chris Mason
2016-09-28 15:13 ` [PATCH RFC 0/4] " Rick Jones
2016-10-07  9:18   ` Juerg Haefliger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).