> On Jan 30, 2026, at 10:21 PM, John Hubbard <[email protected]> wrote: > > 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
Indeed, thanks Dave and John. > , I guess this is one time we really should have > taken a peek at nouveau for inspiration after all. :) I have actually been referring to Nouveau, OpenRM and also the core kernel mm code for my research in this area. These all have been a great reference in this respect :). Thanks, Joel Fernandes > > thanks, > -- > John Hubbard >
