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

> ovs_frag_data_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.
>
> Move ovs_frag_data_storage into the struct ovs_pcpu_storage which already
> provides locking for the structure.
>
> 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>
> ---

Tested it with the same script, and see that it preforms inline with my
unpatched results.  This is without CONFIG_PREEMPT, so I didn't do any
checks on a 'RT' system.  That does make me wonder whether it really is
my system or something in the way local lock is being used, or even a
misunderstanding about the possible contention scenarios.

I also did check the openvswitch userspace kernel test suite and that
also passes.  So looks good that way.

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

Reply via email to