On 6/7/23 00:31, Danilo Krummrich wrote:
Maple Tree: - Maple tree uses the 'unsinged long' type for node entries. While this works for 64bit, it's incompatible with the DRM GPUVA Manager on 32bit, since the DRM GPUVA Manager uses the u64 type and so do drivers using it. While it's questionable whether a 32bit kernel and a > 32bit GPU address space make any sense, it creates tons of compiler warnings when compiling for 32bit. Maybe it makes sense to expand the maple tree API to let users decide which size to pick - other ideas / proposals are welcome.
I remember you told me that the filesystem folks had some interest in a 64-bit maple tree for a 32-bit kernel as well. Are there any news or plans for such a feature?
For the short term I'd probably add a feature flag to the GPUVA manager, where drivers explicitly need to promise not to pass in addresses exceeding 32-bit on a 32-bit kernel, and if they don't refuse to initialize the GPUVA manager on 32-bit kernels - or something similar...