> On Dec 3, 2020, at 11:18 AM, Frank van der Linden <fllinden@xxxxxxxxxx> wrote: > > On Thu, Dec 03, 2020 at 04:43:12PM +0100, Mkrtchyan, Tigran wrote: >> >> Hi Olga, >> >> Franks patches are not applied. I will check with Trond's patch and >> then will try those as well. >> >> Regards, >> Tigran. > > Since my change no longer uses SPARSE_PAGES, it'll probably avoid the > oops, so give it a try. > > Having said that, fixing SPARSE_PAGES seems like a better option.. My > ideal outcome would be to have a working SPARSE_PAGES for all transports. > That would allow GETXATTR and LISTXATTRS to just always specify a max > size array of pages, giving it maximum flexibility to cache the received > result no matter what, and avoiding allocations that are too large. SPARSE_PAGES (at least for RDMA) always allocates the full set of pages, because it has to set the receive buffer up before the request is sent and it has no way to know the actual size of the reply. There is really no savings when the transport does it, and it is less reliable because the transport runs in a context where GFP_KERNEL allocations are not allowed. > For now, though, I'm happy with the v2 patch I sent in. > > - Frank -- Chuck Lever