On 3/17/21 2:38 PM, David Marchand wrote:
> 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.
> 
> 

FYI, on my testbed (CX-6 Dx), I can reproduce it without this series
applied.

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to