On Wed, 30 May 2018, Steve Wise wrote: > > Now we do higher order allocations here. This means that the allocation > > can fail if system memory is highly fragmented. And the allocations can no > > longer be satisfied from the per cpu caches. So allocation performance > > will drop. > > Yes. Maybe do some test with fragmented memory? > >> if (!c->inline_page) > >> goto out_unmap_cmd; > > Maybe think about some sort of fallback to vmalloc or so if this > > alloc fails? > > The memory needs to be physically contiguous and will be mapped for DMA, > so vmalloc() won't work. > > I could complicate the design and allocate a scatter gather table for > this memory, and then register it into a single RDMA MR. That would > allow allocating non-contiguous pages. But is that complication worth > it here? Not sure..... Just saw the higher alloc and I have seen what other subsystems went through when dealing with larger order allocations