[ovs-dev] [RFC v2 0/2] Ingress Scheduling
Billy O'Mahony
billy.o.mahony at intel.com
Wed Mar 28 22:11:56 UTC 2018
Hi All,
I've updated the original RFC patch to account for two sets of comments. See
below.
I had originally intended to make this a v1 patch but two items are
outstanding:
* further testing needs to be completed to determine the full effect on vports
* re-configuration of the priorities at run-time is not supported in RFCv2
I want to allow re-configuration of the port priorities without calling
netdev_request_reconfigure as that will, I understand, restart the
netdevs and drop packets. I am thinking that adding the ingress_prio config
smap to ofproto_port_set_config call in bridge_reconfigure and then calling
dp_netdev_reload_pmd__ from dpif_netdev_port_set_config will end up forcing the
pmd to reload_queues_and_ports and giving effect to the new priorities. But
I'd appreciate guidance on that approach.
Original Description:
This patch set implements the 'preferential read' part of the feature of
ingress scheduling described at OvS 2017 Fall Conference
https://www.slideshare.net/LF_OpenvSwitch/lfovs17ingress-scheduling-82280320.
It allows configuration to specify an ingress priority for an entire
interface. This protects traffic on higher priority interfaces from loss and
latency as PMDs get overloaded.
Results so far a are very promising; For a uniform traffic distribution as
total offered load increases loss starts on the lowest priority port first and
the highest priority port last.
History:
RFCv1:
Initial version.
RFCv2:
* Keep ingress prio config in netdev base rather than in each netdev type.
* Account for differing rxq lengths
* Applies clean to 4299145
Billy O'Mahony (2):
ingress scheduling: schema and docs
ingress scheduling: Provide per interface ingress priority
Documentation/howto/dpdk.rst | 18 +++++++
include/openvswitch/ofp-parse.h | 3 ++
lib/dpif-netdev.c | 103 +++++++++++++++++++++++++++++++++++-----
lib/netdev-bsd.c | 1 +
lib/netdev-dpdk.c | 13 ++++-
lib/netdev-dummy.c | 1 +
lib/netdev-linux.c | 1 +
lib/netdev-provider.h | 11 ++++-
lib/netdev-vport.c | 1 +
lib/netdev.c | 42 ++++++++++++++++
lib/netdev.h | 2 +
vswitchd/bridge.c | 2 +
vswitchd/vswitch.ovsschema | 9 +++-
vswitchd/vswitch.xml | 40 ++++++++++++++++
14 files changed, 230 insertions(+), 17 deletions(-)
--
2.7.4
More information about the dev
mailing list