Hi Sean,

On Thu, Nov 10, 2011 at 07:03:40AM +0000, Hefty, Sean wrote:
> > > Yes, but the use of the cache is hidden from the user.
> > 
> > user who?
> 
> ib_cm, rdma_cm, ib_mad, ib_ipoib, etc.  You would need to trace the use up to 
> all ULPs.
> 
> > Since the drivers would be users of cache calls, the behavior would be
> > as assumed for the query calls for the driver. Refer mthca
> > implementation (PATCH 11/11): If the entry is found in cache, it
> > will return immediately, and will not sleep.
> 
> > If the entry is not found, it will query the device and may sleep.
> 
> This is the issue.  You changed calls from ib_find_cached_pkey() and 
> ib_find_cached_gid() to ib_query_pkey() and ib_query_gid().  The latter calls 
> may sleep, but I don't believe that we can sleep in all places where the new 
> functions are used.  Changing from ib_find_cached_gid to ib_query_gid changes 
> the locking restrictions up through the stack.  It doesn't matter if the 
> cache doesn't block, the exposed calls may.

Thanks for explaining. I see your point now. This had been in the
orignal discussion, but I missed on this point while working
on this. I will redo the patches after reviewing the function usage.

-- 
Goldwyn
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to