> 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
> 

Reply via email to