[ovs-dev] [PATCH 04/13] netdev-dpdk: Use RCU for egress QoS.

Ben Pfaff blp at ovn.org
Wed Oct 12 20:04:48 UTC 2016


On Tue, Oct 04, 2016 at 06:22:15PM -0700, Daniele Di Proietto wrote:
> I think it's clearer to use RCU than to check for a pointer twice in the
> fast path (before and after taking the spinlock). Now the spinlock is
> integrated into 'qos_conf'.
> 
> 'qos_conf' objects cannot be modified, so, instead of having
> 'qos_set()', we now have 'qos_is_equal()', which tells us if an object
> must be destroyed and recreated.
> 
> With this patch we also avoid passing the netdev parameter to qos ops,
> since it was unused most of the times.
> 
> Lastly, some duplication is removed.
> 
> CC: Ian Stokes <ian.stokes at intel.com>
> Signed-off-by: Daniele Di Proietto <diproiettod at vmware.com>

The use of rte_strerror(-error) in netdev_dpdk_set_qos() looks a little
confusing to me.  Is ->qos_construct() supposed to return a negative
number for errors?  But that doesn't seem to mesh with the assignment
"error = EOPNOTSUPP;" earlier in netdev_dpdk_set_qos().  But maybe I'm
not familiar enough with how DPDK reports errors.

Acked-by: Ben Pfaff <blp at ovn.org>



More information about the dev mailing list