[ofa-general] [PATCH 0/3] pkey change handling

Yosef Etigin yosefe at voltaire.com
Wed May 2 08:54:26 PDT 2007


There are 3 pathces in this series.

The issue addressed is keeping ipoib interfaces alive despite port's pkey order is changed.
pkey-to-index queries were using a cache. however, the cache might not be up-to-date when
ipoib asks it to resolve a pkey. Therefore must use a direct query. On the other hand, in
build_mlx_header, the pkey query must be atomic. So, the driver will keep its own pkey cache,
which is non blocking and always updated before ipoib is notified of the event.
In addition, remove the pkey delayed initiallization thread, instead start the interface on pkey
change notification.

1: ipoib: handle pkey change notifications, by restarting the qp which validates 
            the pkey index of the qp in case the pkeys in case they were shuffled.
          remove the pkey polling thread, and upon pkey change events, bring up 
            interfaces for which pkeys were not found.

2: core: remove the infiniband cache and replace it with blocking calls. update its users.

3: mthca: put a pkey cache in the provider.
          update the cache on pkey table smps
          use it to answer pkey_query.
          use the cache in build_mlx_header atomic context


Signed-off-by: Yosef Etigin <yosefe at voltaire.com>
--






More information about the general mailing list