Let IB core distribute cache update events
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 4 repliesIn review
Changes in v1 from the cover letter
- Address Jason's comment to split qp event handler lock with IB device event
- Added patch that add qp_ prefix to reflect QP event operation
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | IB/mlx5: Do reverse sequence during device removaldrivers/ | +2 | 0 replies | |
| 2/4 | IB/core: Let IB core distribute cache update eventsdrivers/ drivers/ drivers/ +1 more | +92 | 2 replies | |
| 3/4 | IB/core: Cut down single member ib_cache structuredrivers/ include/ | +17 | 0 replies | |
| 4/4 | IB/core: Prefix qp to event_handler_lockdrivers/ drivers/ include/ | +8 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH rdma-next v1 0/4] Let IB core distribute cache update events
From: Leon Romanovsky <[email protected]>
Changelog:
---v0->v1:
- Address Jason's comment to split qp event handler lock with IB device event
- Added patch that add qp_ prefix to reflect QP event operation
Note: Patch #1 can go to the -rc too, and is sent here because "fix" is needed only if we are using those cache patches.
-------------------------------------------------------------------------
From Parav,
Currently when low level driver notifies Pkey, GID, port change events, they are notified to the registered handlers in the order they are registered.
IB core and other ULPs such as IPoIB are interested in GID, LID, Pkey change events. Since all GID query done by ULPs is serviced by IB core, IB core is yet to update the GID cache when IPoIB queries the GID, resulting into not updating IPoIB address.
Hence, all events which require cache update are handled first by the IB core. Once cache update work is completed, IB core distributes the event to subscriber clients.
This is tested with opensm's /etc/rdma/opensm.conf subnet_prefix configuration update where before the update
$ ip link show dev ib0
ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2044 qdisc pfifo_fast state UP mode DEFAULT group default qlen 256
link/infiniband
80:00:01:07:fe:80:00:00:00:00:00:00:24:8a:07:03:00:b3:d1:12 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
And after the subnet prefix update:
ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2044 qdisc pfifo_fast state UP mode DEFAULT group default qlen 256
link/infiniband
80:00:01:07:fe:80:00:00:00:00:00:02:24:8a:07:03:00:b3:d1:12 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
Thanks
Parav Pandit (4):
IB/mlx5: Do reverse sequence during device removal IB/core: Let IB core distribute cache update events IB/core: Cut down single member ib_cache structure IB/core: Prefix qp to event_handler_lock
drivers/infiniband/core/cache.c | 151 +++++++++++++++++----------- drivers/infiniband/core/core_priv.h | 1 + drivers/infiniband/core/device.c | 35 ++----- drivers/infiniband/core/verbs.c | 12 +-- drivers/infiniband/hw/mlx5/main.c | 2 + include/rdma/ib_verbs.h | 16 +-- 6 files changed, 118 insertions(+), 99 deletions(-)
--
2.20.1