On Mon, May 22, 2023 at 11:08:38PM -0700, Christoph Hellwig wrote: > On Mon, May 22, 2023 at 01:08:44PM +0200, Uladzislau Rezki (Sony) wrote: > > +#define fbl(z, i, m) z->fbl[i].m > > +#define fbl_root(z, i) fbl(z, i, root) > > +#define fbl_head(z, i) fbl(z, i, head) > > + > > +#define fbl_lock(z, i) spin_lock(&fbl(z, i, lock)) > > +#define fbl_unlock(z, i) spin_unlock(&fbl(z, i, lock)) > > Even if it is just temporary, I don't think adding these wrappers > make much sense. > If open-coded, it looks like: spin_lock(&z->fbl[BUSY].lock); fbl_lock(z, BUSY); the reason of adding such helpers is to make the name shorter. > > +struct cpu_vmap_zone { > > + /* > > + * FREE, BUSY, LAZY bookkeeping data of this CPU zone. > > + */ > > + struct { > > + struct rb_root root; > > + struct list_head head; > > + spinlock_t lock; > > + } fbl[NFBL]; > > Maybe replace NFBL with something longer and more descriptive? > > But also in general it feels like this should be folded into a patch > doing real work. As-is it doesn't look very useful. > I split it for better understanding for review. But i can fold it. -- Uladzislau Rezki