On 16/06/2020 9:30, Leon Romanovsky wrote: > On Mon, Jun 15, 2020 at 10:59:20AM +0300, Gal Pressman wrote: >> Provider specific attributes which are necessary for the userspace >> functionality should be part of the alloc ucontext response, not query >> device. This way a userspace provider could work without issuing a query >> device verb call. However, the fields will remain in the query device >> ABI in order to maintain backwards compatibility. > > I don't really understand why "should be ..."? Device properties exposed > here are per-device and will be equal to all ucontexts, so instead of > doing one very fast system call, you are "punishing" every ucontext > call. I talked about it with Jason in the past, the query device verb is intended to follow the IBA verb, alloc ucontext should return driver specific data that's required to operate the user space provider. A query device call should not be mandatory to load the provider. Whether it's done through query device/ucontext response, both happen for each new context call. With this patch, we gather all needed data in one system call instead of two. > What is wrong with calling one query_device before allocating any > ucontext? What are you trying to achieve and what will it give? How can you call query device without allocating a context?