Sebastian Andrzej Siewior <bige...@linutronix.de> writes:

> ovs_pcpu_storage is a per-CPU variable and relies on disabled BH for its
> locking. Without per-CPU locking in local_bh_disable() on PREEMPT_RT
> this data structure requires explicit locking.
> The data structure can be referenced recursive and there is a recursion
> counter to avoid too many recursions.
>
> Add a local_lock_t to the data structure and use
> local_lock_nested_bh() for locking. Add an owner of the struct which is
> the current task and acquire the lock only if the structure is not owned
> by the current task.
>
> Cc: Aaron Conole <acon...@redhat.com>
> Cc: Eelco Chaudron <echau...@redhat.com>
> Cc: Ilya Maximets <i.maxim...@ovn.org>
> Cc: d...@openvswitch.org
> Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
> ---

Reviewed-by: Aaron Conole <acon...@redhat.com>

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to