Thu, Mar 21, 2019 at 02:17:41PM CET, vla...@mellanox.com wrote:
>Without rtnl lock protection tcf proto can be deleted concurrently. Check
>tcf proto 'deleting' flag after taking tcf spinlock to verify that no
>concurrent deletion is in progress. Return EAGAIN error if concurrent
>deletion detected, which will cause caller to retry and possibly create new
>instance of tcf proto.
>
>Retry mechanism is a result of fine-grained locking approach used in this
>and previous changes in series and is necessary to allow concurrent updates
>on same chain instance. Alternative approach would be to lock the whole
>chain while updating filters on any of child tp's, adding and removing
>classifier instances from the chain. However, since most CPU-intensive
>parts of filter update code are specifically in classifier code and its
>dependencies (extensions and hw offloads), such approach would negate most
>of the gains introduced by this change and previous changes in the series
>when updating same chain instance.
>
>Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>Reviewed-by: Stefano Brivio <sbri...@redhat.com>

Acked-by: Jiri Pirko <j...@mellanox.com>

Reply via email to