On Tue, Apr 06, 2021 at 11:40:39AM -0300, Jason Gunthorpe wrote: > Yes, but the complexity is how the drivers are constructed they are > designed to reject flags they don't know about.. > > Hum, it looks like someone has already been in here and we now have a > IB_ACCESS_OPTIONAL concept. > > Something like this would be the starting point: > > [...] > > However I see only EFA actually uses IB_ACCESS_OPTIONAL, so the lead > up would be to audit all the drivers to process optional access_flags > properly. Maybe this was done, but I don't see much evidence of it.. > > Sigh. It is a big mess cleaning adventure in drivers really.
Yes. When passing flags to drivers we need to have a good pattern in place for distinguishing between mandatory and optional flags. That is something everyone gets wrong at first (yourself included) and which then later needs painful untangling. So I think we need to do that anyway. > > Do we actually ever need the strict ordering semantics in the kernel? > > No, only for uverbs. Which is a pretty clear indicator that we should avoid all this ULP churn. Note that the polarity of the the flag passed to the HCA driver doesn't really matter either - we should just avoid having to deal with it in the kernel ULP API.