Re: [PATCH 5/9] mm: vmalloc: Insert busy-VA per-cpu zone

Christoph Hellwig
2023-05-23T06:12:17Z

> /* Look up the first VA which satisfies addr < va_end, NULL if none. */
> -static struct vmap_area *find_vmap_area_exceed_addr(unsigned long addr)
> +static struct vmap_area *find_vmap_area_exceed_addr(unsigned long addr, struct rb_root *root)

Please avoid the overly long line.

> + struct cpu_vmap_zone *z = addr_to_cvz(va->va_start);
> +
> /*
> * Remove from the busy tree/list.
> */
> - spin_lock(&vmap_area_lock);
> - unlink_va(va, &vmap_area_root);
> - spin_unlock(&vmap_area_lock);
> + fbl_lock(z, BUSY);
> + unlink_va(va, &fbl_root(z, BUSY));
> + fbl_unlock(z, BUSY);

I find the BUSY magic here very confusing, and would prefer to
just spell the actual lock reference out.