On 10/19/23 23:54, Zhijian Li (Fujitsu) wrote:
Add and Hi Bart, Yi reported a crash[1] when PAGE_SIZE is 64K [1]https://lore.kernel.org/all/CAHj4cs9XRqE25jyVw9rj9YugffLn5+f=1znaBEnu1usLOciD+g@xxxxxxxxxxxxxx/T/ The root cause is unknown so far, but I notice that SRP over RXE always uses MR with page_size 4K = MAX(4K, min(device_support_page_size)) even though the device supports 64K page size. * RXE device support 4K ~ 2G page size 4024 /* 4025 * Use the smallest page size supported by the HCA, down to a 4026 * minimum of 4096 bytes. We're unlikely to build large sglists 4027 * out of smaller entries. 4028 */ 4029 mr_page_shift = max(12, ffs(attr->page_size_cap) - 1); 4030 srp_dev->mr_page_size = 1 << mr_page_shift; 4031 srp_dev->mr_page_mask = ~((u64) srp_dev->mr_page_size - 1); 4032 max_pages_per_mr = attr->max_mr_size; I doubt if we can use PAGE_SIZE MR if the device supports it.
Hi Zhijian, Thank you for having Cc-ed me. How about changing "12" in the above code into PAGE_SHIFT? Thanks, Bart.