[SNIP]
Is this not an application issue? Millions of mappings seems a bitUserspace (generally Vulkan, some compute) has interfaces that prettyThat's a really good idea, but the implementation with drm_mm won't work
much dictate a lot of how VMA tracking works, esp around lifetimes,
sparse mappings and splitting/merging underlying page tables, I'd
really like this to be more consistent across drivers, because already
I think we've seen with freedreno some divergence from amdgpu and we
also have i915/xe to deal with. I'd like to at least have one place
that we can say this is how it should work, since this is something
that *should* be consistent across drivers mostly, as it is more about
how the uapi is exposed.
like that.
We have Vulkan applications which use the sparse feature to create
literally millions of mappings. That's why I have fine tuned the mapping
absurd to me.
We might need to bit of work here in Xe as our xe_vma structure is quitestructure in amdgpu down to ~80 bytes IIRC and save every CPU cycle
possible in the handling of that.
big as we currently use it as dumping ground for various features.
That's a valuable information. Can you recommend such an application forAlso interested.
testing / benchmarking?
Your optimization effort sounds great. May it be worth thinking aboutFWIW the Xe is on board with the drm_gpuva_manager effort, we basically
generalizing your approach by itself and stacking the drm_gpuva_manager on
top of it?
open code all of this right now. I'd like to port over to
drm_gpuva_manager ASAP so we can contribute and help find a viable
solution for all of us.
Matt
A drm_mm_node is more in the range of ~200 bytes and certainly notI will definitely have look.
suitable for this kind of job.
I strongly suggest to rather use a good bunch of the amdgpu VM code as
blueprint for the common infrastructure.
Regards,
Christian.
Dave.