On Tue, Mar 16, 2021 at 6:49 PM Gaëtan Rivet <[email protected]> wrote: > Hey, thanks for taking the time to give more info! > > I'm in a pickle now though. > > To rewind back a little: flush support was implemented after this series was > written. > I added support for it as well, doing a proper parallel dispatch. It needs > however some ugly sync between the thread doing the flush and offload > threads. The ovs_barrier used for this has a UAF (which does not affect RCU > or revalidators, only in very specific contexts such as this new one). > > It was starting to become a series on its own, on top of an already large > one, so I decided to keep it for later. > It seems I will need to do it in one fell swoop instead. > > Sorry about this, I should have picked it up before. Well at least the crash > is pretty obvious :) .
Err, yes. Did you consider adding more unit tests? Not sure it could catch this situation though. > Thanks again though, I'll send a proper v2 ASAP, but it will require a few > additional patches. I'll continue looking at the v1 anyway. One issue that I noticed. With traffic running non stop and restarting ovs, one way of my flows (pf -> vf rep) remains as partial offloads while the other way (vf rep -> pf) is fully offloaded. I can easily "fix" this by stopping traffic, letting flows expire and restarting traffic and then, all flows are fully offloaded afterwards. Flushing fdb also works. I did not see this before the series, but I need to double check. -- David Marchand _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
