> On Apr 5, 2021, at 7:08 AM, Leon Romanovsky <leon@xxxxxxxxxx> wrote: > > On Mon, Apr 05, 2021 at 03:41:15PM +0200, Christoph Hellwig wrote: >> On Mon, Apr 05, 2021 at 08:23:54AM +0300, Leon Romanovsky wrote: >>> From: Leon Romanovsky <leonro@xxxxxxxxxx> >>> >>>> From Avihai, >>> >>> Relaxed Ordering is a PCIe mechanism that relaxes the strict ordering >>> imposed on PCI transactions, and thus, can improve performance. >>> >>> Until now, relaxed ordering could be set only by user space applications >>> for user MRs. The following patch series enables relaxed ordering for the >>> kernel ULPs as well. Relaxed ordering is an optional capability, and as >>> such, it is ignored by vendors that don't support it. >>> >>> The following test results show the performance improvement achieved >>> with relaxed ordering. The test was performed on a NVIDIA A100 in order >>> to check performance of storage infrastructure over xprtrdma: >> >> Isn't the Nvidia A100 a GPU not actually supported by Linux at all? >> What does that have to do with storage protocols? > > This system is in use by our storage oriented customer who performed the > test. He runs drivers/infiniband/* stack from the upstream, simply backported > to specific kernel version. > > The performance boost is seen in other systems too. > >> >> Also if you enable this for basically all kernel ULPs, why not have >> an opt-out into strict ordering for the cases that need it (if there are >> any). > > The RO property is optional, it can only improve. In addition, all in-kernel ULPs > don't need strict ordering. I can be mistaken here and Jason will correct me, it > is because of two things: ULP doesn't touch data before CQE and DMA API prohibits it. > Sticking to in-kernel ULP’s don’t need strict ordering, why don’t you enable this for HCA’s which supports it by default instead of patching very ULPs. Some ULPs in future may forget to specify such flag. Regards, Santosh