[openib-general] RFC: ib_cache_event problems

Michael S. Tsirkin mst at mellanox.co.il
Tue Jun 6 11:11:32 PDT 2006


Hello!
We are seeing the following problems in ib_cache_event:
1. If a GFP_ATOMIC allocation fails, it seems that cache won't be updated
2. Since cache isn't updated immediately, but by queueing a work request, it is
possible for e.g. IP over IB, to query the cache as a result of event and get a
stale value.  Consider for example ipoib - in this case
ipoib_pkey_dev_check_presence returns an incorrect value. We are actually seeing
this happening in stress testing.

Since the SM will not retry the MAD, event won't be regenerated,
so values ULP gets from cache may never get updated.

Suggestions
1. Cache should create ib_update_work objects statically upon hotplug event.
2. Need a mechanism for cache to consume events which trigger cache updates,
and delay reporting them to ULPs until after cache is updated.

Opinions?

-- 
MST




More information about the general mailing list