[ovs-discuss] [LNG] Re: OVS Support for RT Kernel

Viresh Kumar viresh.kumar at linaro.org
Mon Sep 23 10:51:50 UTC 2013


On 21 September 2013 00:28, Jesse Gross <jesse at nicira.com> wrote:
> On Mon, Sep 16, 2013 at 2:13 AM, Viresh Kumar <viresh.kumar at linaro.org> wrote:

>> Is this piece of code reentrant? I don't think so, otherwise there would
>> have been races to update loop_counters..

> It certainly can be accessed simultaneously on multiple CPUs.
> Obviously, anything with BH disabled won't be accessed on the same CPU
> but other parts might be.

Ahh... I meant on the same CPU, as the loop counters are per-cpu..
Probably my patch has to be revisited to something like a per-cpu
spin-lock.. to make it better for SMP systems..

>> Probably the same is still true with RT, otherwise I would have found
>> few such patches in RT kernel..
>
> This seems to be the crux of the issue, so please look into this further.

> OVS is in the upstream kernel as well. This loop checker is just
> compatibility code since the exact same logic exists in net/core/dev.c
> on newer kernels. The same transformations should apply in both
> places. If you are saying that there are no changes to the upstream
> loop checker then either the same should be true here as well or there
> is a bug. Either way, I would like to understand that better first.

I tried looking at latest kernels (even latest code in linux-next) and
couldn't locate the same piece of code.. I knew about In-kernel OVS
and that part is a bit different then what we have in Out-of-kernel
OVS (specially the loop counter part isn't present in mainline kernel).
Probably what you just mentioned above..

Can you please help me by pointing to that piece of code?

Thanks..



More information about the discuss mailing list