On Fri, Jun 21, 2024 at 12:22:30PM -0400, cel@xxxxxxxxxx wrote: > From: Chuck Lever <chuck.lever@xxxxxxxxxx> > > nfs4_get_device_info() frequently requests more than a few pages > when provisioning a nfs4_deviceid_node object. Make this more > efficient by using alloc_pages_bulk_array(). This API is known to be > several times faster than an open-coded loop around alloc_page(). > > release_pages() is folio-enabled so it is also more efficient than > repeatedly invoking __free_pages(). This isn't really a pnfs fix, right? Just a little optimization. It does looks fine to me: Reviewed-by: Christoph Hellwig <hch@xxxxxx> But I'd really with if we could do better than this with lazy decoding in ->alloc_deviceid_node, which (at least for blocklayout) knows roughly how much we need to decode after the first value parsed. Or at least cache it if it is that frequent (which it really shouldn't be due to the device id cache, or am I missing something?)