On Sun, Jul 10, 2022 at 10:30:41AM +0300, Oded Gabbay wrote: > Per my understanding, the MRs are meant to notify the driver that the > user would like the h/w MMU to be familiar with these memory regions. > As we also need to pin them, it is preferable to have multiple small > MRs than a single very large MR. > The fact that the key that is returned is the same for all memory > regions shouldn't affect the user. Our MMU will be able to do the > translation correctly using only the ASID+address. > In addition, because we also have on-device memory (HBM), we would > like to allow the user to register memory regions in that memory. So > we need to support at least two MRs. I think it would make sense to stick with a single MR and just have some DV operation to remap portions of it. It achieves the same thing for you without creating a verbs confusion with multiple MRs that are actually the same MR. mlx5 already has a dv API that is sort of like this, so there is precedent. Jason