[ofa-general] Re: pkey change handling patch
Michael S. Tsirkin
mst at dev.mellanox.co.il
Tue Apr 17 15:35:47 PDT 2007
> Quoting Roland Dreier <rdreier at cisco.com>:
> Subject: Re: pkey change handling patch
>
> > So, this all turned out looking much more hairy than I thought it would be.
> > Maybe option 1 is better? How about adding new types of events, and
> > generating them once cache has been updated?
>
> Well, I had another idea that I've been meaning to post. How about
> adding a can_block flag to the methods query the cache.
Could be a good idea, but note this will require creating another
WQ for cache updates, otherwise e.g. IPoIB
will deadlock waiting for it.
> If can_block
> is set, just wait for the cache to be up-to-date, and if it is not
> set, then return ESTALE (or maybe EAGAIN to match non-blocking file
> methods even more closely).
API-wise, I like having "try" (e.g. down_trylock) non-blocking functions
better than yet another flag. E.g. ib_tryget_cached_gid?
By the way, are there any users for the non-blocking API?
Maybe we can simply relax the requirement, and make all API's
blocking?
> That forces us to think about every use of the cache queries, but I'm
> not sure that's a bad think.
Well, for the blocking case this is OK I think.
However, I now think that for the non-blocking case (if we implement it),
relying on timed retry from ULP is lame - we actually know when cache's up to
date, why force ULPs to jump through hoops to guess? Let's send them an event.
--
MST
More information about the general
mailing list