There are few style problems in patches. I've sent corresponding mails.
Other than this:
Tested-by: Ilya Maximets <[email protected]>
Acked-by: Ilya Maximets <[email protected]>
On 17.03.2016 02:39, Daniele Di Proietto wrote:
> Currently we treat set_multiq() calls specially in netdev and dpif-netdev:
> every pmd thread must be stopped and set_multiq() is allowed to destroy and
> recreate the device.
>
> I think we can improve this by:
> * Generalizing the mechanism to allow changing other parameters at runtime
> (such as MTU).
> * Involving less the above layer (dpif-netdev). The request for changes
> often comes from below (netdev_dpdk_set_config(), or the vhost new_device()
> callback). There's no need for dpif-netdev to remember the requested value,
> all that it needs to know is that a configuration change is requested.
>
> This series implements exactly this: a mechanism to allow a netdev provider
> to request configuration changes, to which dpif-netdev will respond by
> stopping rx/tx and calling a netdev function to appy the new configuration.
>
> The new mechanism is used in this series to replace the set_multiq() call,
> but the idea is to use it also at least for:
>
> * Changing the MTU at runtime
> * Automatically detecting the number of rx queues for a vhost-user device
>
> The first commits also clean up some code in dpif-netdev and make the ports
> cmap fully RCU protected.
>
> v4:
> * Added another patch to uniform names of variables in netdev-dpdk (no
> functional change)
> * Update some netdev comments to document the relation between
> netdev_set_multiq() and netdev_reconfigure()
> * Clarify that when netdev_reconfigure() is called no call to netdev_send()
> or netdev_rxq_recv() must be issued.
> * Move check to skip reconfiguration in netdev_dpdk_reconfigure() before
> rte_eth_dev_stop().
>
> v3:
> * Fixed another outdated comment about rx queue configuration, as pointed out
> by Mark
> * Removed unnecessary and buggy initialization of requested_n_rxq in
> reconfigure_pmd_threads().
> * Removed unused 'err' variable in netdev_dpdk_set_multiq().
> * Changed comparison in netdev_set_multiq() to use previous
> 'netdev->requested_n_txq' instead of 'netdev->up.n_txq'
> * Return immediately in netdev_dpdk_reconfigure() if configuration didn't
> change anything.
>
> v2:
> * Fixed do_add_port(): we have to call netdev_reconfigure() before opening
> the rxqs. This prevents memory leaks, and makes sure that the datapath
> polls the appropriate number of queues
> * Fixed netdev_dpdk_vhost_set_multiq(): it must call
> netdev_request_reconfigure(). Since it is now equal to
> netdev_dpdk_set_multiq(), the two function have been merged.
> * Fixed netdev_dpdk_set_config(): dev->requested_n_rxq is now accessed
> while holding the appropriate mutex.
> * Fixed some outdated comments about rx queue configuration.
>
>
> Daniele Di Proietto (12):
> netdev-dpdk: Consistent variable naming.
> dpif-netdev: Proper error handling in do_add_port().
> dpif-netdev: Keep count of elements in port->rxq[].
> dpif-netdev: Do not keep refcount for ports.
> dpif-netdev: Remove useless dpif-dummy/delete-port appctl.
> dpif-netdev: Wait an RCU grace period before freeing ports.
> ofproto-dpif: Call dpif_poll_threads_set() before dpif_run()
> dpif-netdev: Change pmd thread configuration in dpif_netdev_run().
> dpif-netdev: Document locking discipline for non_pmd_mutex.
> dpif-netdev: Fix reconfigure_pmd_threads().
> netdev: Add reconfigure request mechanism.
> netdev-dpdk: Use ->reconfigure() call to change rx/tx queues.
>
> lib/dpif-netdev.c | 435 +++++++++++++++++---------------
> lib/dpif-provider.h | 3 +-
> lib/netdev-bsd.c | 1 +
> lib/netdev-dpdk.c | 654
> +++++++++++++++++++++++++------------------------
> lib/netdev-dummy.c | 1 +
> lib/netdev-linux.c | 1 +
> lib/netdev-provider.h | 50 ++--
> lib/netdev-vport.c | 1 +
> lib/netdev.c | 72 ++++--
> lib/netdev.h | 7 +-
> ofproto/ofproto-dpif.c | 4 +-
> tests/bridge.at | 4 +-
> 12 files changed, 668 insertions(+), 565 deletions(-)
>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev