[ovs-dev] [RFC v2] bridge: Allow manual notifications about interfaces' updates.

Ben Pfaff blp at ovn.org
Tue Nov 5 19:20:05 UTC 2019


On Mon, Nov 04, 2019 at 02:22:34PM +0100, Ilya Maximets wrote:
> Sometimes interface updates could happen in a way ifnotifier is not
> able to catch.  For example some heavy operations (device reset) in
> netdev-dpdk could require re-applying of the bridge configuration.
> 
> For this purpose new manual notifier introduced. Its function
> 'if_notifier_manual_report()' could be called directly by the code
> that aware about changes.  This new notifier is thread safe.
> 
> Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
> ---
> 
> Sending this as RFC that might be useful in context of the following patch:
> https://mail.openvswitch.org/pipermail/ovs-dev/2019-October/364155.html
> 
> It will allow us to not introduce heavy dpdk notifier just to update
> one sequence number on RTE_ETH_EVENT_INTR_RESET events. We could also
> use it to report other changes from DPDK, e.g. LSC interrupts.

I *think* I understand what's going on here.  It's that the proposed
dpdk-notifier
(https://mail.openvswitch.org/pipermail/ovs-dev/2019-October/364154.html)
takes more locks, etc., so it's going to be slow.  This one doesn't so
it's cheaper.  This one, however, will only work if the OVS code that
makes the device changes calls into it, whereas the other one gets
notified by DPDK itself.

I think that this one could avoid introducing a mutex by using an atomic
pointer, but I don't know whether that's worthwhile.


More information about the dev mailing list