Re: [PATCH 00/14] Modify action API for implementing lockless actions

From: Jamal Hadi Salim
Date: Mon May 14 2018 - 14:03:28 EST


On 14/05/18 10:27 AM, Vlad Buslov wrote:
Currently, all netlink protocol handlers for updating rules, actions and
qdiscs are protected with single global rtnl lock which removes any
possibility for parallelism. This patch set is a first step to remove
rtnl lock dependency from TC rules update path. It updates act API to
use atomic operations, rcu and spinlocks for fine-grained locking. It
also extend API with functions that are needed to update existing
actions for parallel execution.

Outline of changes:
- Change tc action to use atomic reference and bind counters, rcu
mechanism for cookie update.
- Extend action ops API with 'delete' function and 'unlocked' flag.
- Change action API to work with actions in lockless manner based on
primitives implemented in previous patches.
- Extend action API with new functions necessary to implement unlocked
actions.

Please run all the tdc tests with these changes. This area has almost
good test coverage at this point. If you need help just ping me.

cheers,
jamal