Thanks for your input Mark, that's really appreciated! I'll reply inline
On 01/03/2016 09:10, "Kavanagh, Mark B" <mark.b.kavan...@intel.com> wrote: >Hi Daniele, > >Thanks for this patchset! > >I like the approach you've taken - it really lends itself to >maintainability and extensibility, and the implementation that you've >provided is quite elegant. > >I've reviewed the entire patchset, but have only found the need to >comment on three of the patches. For the sake of brevity, consider this >mail as confirmation that I'm happy with patches 2,3,4,5,6,8,9,10. I'll >send on comments shortly for the other three. Oh, and please forgive any >oversights/omissions on my part, as I'm still ramping on the upper OVS >layers. > >Thanks again, >Mark > > >>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. >> >>Daniele Di Proietto (11): >> 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 | 166 +++++++++++-------- >> lib/netdev-dummy.c | 1 + >> lib/netdev-linux.c | 1 + >> lib/netdev-provider.h | 42 +++-- >> lib/netdev-vport.c | 1 + >> lib/netdev.c | 59 ++++--- >> lib/netdev.h | 7 +- >> ofproto/ofproto-dpif.c | 4 +- >> tests/bridge.at | 4 +- >> 12 files changed, 410 insertions(+), 314 deletions(-) >> >>-- >>2.1.4 >> >>_______________________________________________ >>dev mailing list >>dev@openvswitch.org >>http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev