net/mlx5: manage list cache entries release
authorMatan Azrad <matan@nvidia.com>
Tue, 13 Jul 2021 08:44:44 +0000 (11:44 +0300)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 15 Jul 2021 13:19:11 +0000 (15:19 +0200)
commita603b55ad994f6d4abb1220a243d1b407bc6a13b
treedbf96a83a06eb0b5fbfb2a6537771256bb7dd200
parent0b4ce17a11ad2a1321549d82b8767e1377cc4efe
net/mlx5: manage list cache entries release

When a cache entry is allocated by lcore A and is released by lcore B,
the driver should synchronize the cache list access of lcore A.

The design decision is to manage a counter per lcore cache that will be
increased atomically when the non-original lcore decreases the reference
counter of cache entry to 0.

In list register operation, before the running lcore starts a lookup in
its cache, it will check the counter in order to free invalid entries in
its cache.

Signed-off-by: Matan Azrad <matan@nvidia.com>
Acked-by: Suanming Mou <suanmingm@nvidia.com>
drivers/net/mlx5/mlx5_utils.c
drivers/net/mlx5/mlx5_utils.h