diff options
author | Maxime Coquelin <maxime.coquelin@redhat.com> | 2022-01-05 09:19:25 +0100 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2022-01-17 18:07:00 +0100 |
commit | c18e707b2f259438633af5b23df53e1409472871 (patch) | |
tree | 3f2cad4b4ceb690834d1ce688ebe023b530d3911 /Documentation/automake.mk | |
parent | 31e67c998bf7eec70e87c8d64670599053c0f1f3 (diff) | |
download | openvswitch-c18e707b2f259438633af5b23df53e1409472871.tar.gz |
dpif-netdev: Introduce hash-based Tx packet steering mode.
This patch adds a new hash Tx steering mode that
distributes the traffic on all the Tx queues, whatever the
number of PMD threads. It would be useful for guests
expecting traffic to be distributed on all the vCPUs.
The idea here is to re-use the 5-tuple hash of the packets,
already computed to build the flows batches (and so it
does not provide flexibility on which fields are part of
the hash).
There are also no user-configurable indirection table,
given the feature is transparent to the guest. The queue
selection is just a modulo operation between the packet
hash and the number of Tx queues.
There are no (at least intentionnally) functionnal changes
for the existing XPS and static modes. There should not be
noticeable performance changes for these modes (only one
more branch in the hot path).
For the hash mode, performance could be impacted due to
locking when multiple PMD threads are in use (same as
XPS mode) and also because of the second level of batching.
Regarding the batching, the existing Tx port output_pkts
is not modified. It means that at maximum, NETDEV_MAX_BURST
can be batched for all the Tx queues. A second level of
batching is done in dp_netdev_pmd_flush_output_on_port(),
only for this hash mode.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'Documentation/automake.mk')
-rw-r--r-- | Documentation/automake.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Documentation/automake.mk b/Documentation/automake.mk index 137cc57c5..01e3c4f9e 100644 --- a/Documentation/automake.mk +++ b/Documentation/automake.mk @@ -58,6 +58,7 @@ DOC_SOURCE = \ Documentation/topics/record-replay.rst \ Documentation/topics/tracing.rst \ Documentation/topics/userspace-tso.rst \ + Documentation/topics/userspace-tx-steering.rst \ Documentation/topics/windows.rst \ Documentation/howto/index.rst \ Documentation/howto/dpdk.rst \ |