On 1/30/26 7:00 PM, Dave Airlie wrote: > On Sat, 31 Jan 2026 at 07:14, Joel Fernandes <[email protected]> wrote: >> On 1/29/2026 10:38 PM, John Hubbard wrote: >>> On 1/29/26 5:59 PM, Joel Fernandes wrote: >>>> On 1/29/26 8:12 PM, John Hubbard wrote: >>>>> On 1/29/26 4:26 PM, Joel Fernandes wrote: >>>>>> [...] >> Will work on these issues for the v7. Thanks, > > The way this works on nouveau at least (and I haven't yet read the > nova code in depth). > > Is we have 4 stages of vmm page table mgmt. > > ref - locked with a ref lock - can allocate/free memory - just makes > sure the page tables exist and are reference counted > map - locked with a map lock - cannot allocate memory - fill in the > PTEs in the page table > unmap - locked with a map lock - cannot allocate memory - removes > entries in PTEs > unref - locked with a ref lock - can allocate/free memory - just drops > references and frees (not sure if it ever merges). > > So maps and unmaps can be in fence signalling paths, but unrefs are > done in free job from a workqueue. >
Nice! Thanks Dave, I guess this is one time we really should have taken a peek at nouveau for inspiration after all. :) thanks, -- John Hubbard
