]> git.baikalelectronics.ru Git - kernel.git/commit
IB/core: Free GID table entry during GID deletion
authorParav Pandit <parav@mellanox.com>
Thu, 21 Jun 2018 12:31:25 +0000 (15:31 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 22 Jun 2018 15:02:59 +0000 (09:02 -0600)
commitf85fd3da7683e075f914c94b7ede6f0ab57d1ed6
treed6808a56db7c73a4e3645710f2a69b3a7c316f25
parenta19af37143bfbdf73f7816531dd6d8a6c4b4cf1d
IB/core: Free GID table entry during GID deletion

If we already hold the table->lock when doing the kref_put it means we are
in a context where it is safe to do the deletion synchronously, with no
need for the work queue.

This helps to eliminate issues when GID change is requested as part of MAC
address change or bonding event change where expectation is to replace the
GID almost immediately.

Fixes: 88267140f9a4 ("IB/core: Introduce GID entry reference counts")
Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/cache.c