On Mon, Nov 07, 2022 at 08:49:01PM -0400, Jason Gunthorpe wrote: > +/* > + * Each interval represents an active iopt_access_pages(), it acts as an > + * interval lock that keeps the PFNs pinned and stored in the xarray. > + */ > +struct iopt_pages_access { > + struct interval_tree_node node; > + refcount_t refcount; I noticed this is never used unlocked, everything holds the pages->mutex for the pages that holds the node in its itree So this is just an unsigned int, we don't need that atomic. Jason