On Jan 30, 2026, at 10:21 PM, John Hubbard [off-list ref] wrote:
On 1/30/26 7:00 PM, Dave Airlie wrote:
quoted
quoted
On Sat, 31 Jan 2026 at 07:14, Joel Fernandes [off-list ref] wrote:
On 1/29/2026 10:38 PM, John Hubbard wrote:
quoted
On 1/29/26 5:59 PM, Joel Fernandes wrote:
quoted
On 1/29/26 8:12 PM, John Hubbard wrote:
quoted
quoted
On 1/29/26 4:26 PM, Joel Fernandes wrote:
quoted
[...]
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