On 3/6/2018 1:06 AM, Rohit Zambre wrote:
I studied the code a little further and here are some questions below: (1) It seems like only BFREG_0 and BFREG_1 of a UAR are being used to ring the doorbell. BFREG_2 and BFREG_3, while being allocated in `ibv_open_device`, are not assigned to the QPs belonging to the same context.The PRM says that BFREG_2 and BFREG_3 of a UAR are used for "fast path posting" (page 65). What do these "fast path" operations refer to: are they control operations?
Yes, their target is for executing priority tasks by the hardware.
(2) From my understanding of `allocate_uars` and `alloc_bfreg` kernel functions, there is no difference (in terms of hardware uUAR functionality) between the `low_lat_uuars` and the other uUARs that are being allocated during context creation. The only reason why `low_lat_uuars` are called so is that there is no lock taken for the QP's assigned to the `low_lat_uuars`, hence "low latency". The QPs assigned to other uUARs will take a lock and might contend for it if multiple QPs are assigned the same uUAR, hence not low latency. Can someone (maybe, Yishai Hadas) confirm this?
Correct. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html