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 <[EMAIL PROTECTED]>
--
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general