[PATCH] drm/amdgpu: select ARCH_HAS_HMM and ZONE_DEVICE option

Kuehling, Felix Felix.Kuehling at amd.com
Wed Feb 20 22:39:49 UTC 2019


On 2019-02-20 5:12 p.m., Jerome Glisse wrote:
> On Wed, Feb 20, 2019 at 07:18:17PM +0000, Kuehling, Felix wrote:
>> [+Jerome]
>>
>> Why to we need ZONE_DEVICE. I didn't think this was needed for mirroring
>> CPU page tables to device page tables.
>>
>> ARCH_HAS_HMM depends on (X86_64 || PPC64). Do we have some alternative
>> for ARM support?
>>
>> Also, the name ARCH_HAS_HMM looks like it's meant to be selected by the
>> CPU architecture rather than any driver. Jerome, do you have any advice?
> This patch is wrong you need to depend on ARCH_HAS_HMM and

Who selects ARCH_HAS_HMM? Currently I don't see this selected anywhere. 
So any config option that depends on it will be invisible in menuconfig. 
Do we need ARCH_HAS_HMM somewhere in the arch/x86/Kconfig and 
arch/powerpc/Kconfig?

Also, ARCH_HAS_HMM does not currently support ARM. Does that mean we 
can't have ARM support in AMDGPU if we start using HMM?

Finally, ARCH_HAS_HMM has a bunch of dependencies. If they are not met, 
I guess it can't be enabled. Should those be "select"s instead?

config ARCH_HAS_HMM
         bool
         default y
         depends on (X86_64 || PPC64)
         depends on ZONE_DEVICE
         depends on MMU && 64BIT
         depends on MEMORY_HOTPLUG
         depends on MEMORY_HOTREMOVE
         depends on SPARSEMEM_VMEMMAP

Regards,
   Felix

> select HMM_MIRROR you do not need to select ZONE_DEVICE
>
> So it should look like:
>
> config DRM_AMDGPU_USERPTR
> 	bool "Always enable userptr write support"
> 	depends on DRM_AMDGPU
> 	depends on ARCH_HAS_HMM
> 	select HMM_MIRROR
> 	help
> 	  This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it
> 	  isn't already selected to enabled full userptr support.
>
> I have not got around to work on amdgpu on that respect yet
> but it is on my todo list unless someone else beat me to it :)
>
> Cheers,
> Jérôme
>
>> Thanks,
>>     Felix
>>
>> On 2019-02-20 1:56 p.m., Yang, Philip wrote:
>>> Those options are needed to support HMM
>>>
>>> Change-Id: Ieb7bb3bcec07245d79a02793e6728228decc400a
>>> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
>>> ---
>>>    drivers/gpu/drm/amd/amdgpu/Kconfig | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
>>> index 960a63355705..63f0542bc34b 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
>>> +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
>>> @@ -26,7 +26,9 @@ config DRM_AMDGPU_CIK
>>>    config DRM_AMDGPU_USERPTR
>>>    	bool "Always enable userptr write support"
>>>    	depends on DRM_AMDGPU
>>> +	select ARCH_HAS_HMM
>>>    	select HMM_MIRROR
>>> +	select ZONE_DEVICE
>>>    	help
>>>    	  This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it
>>>    	  isn't already selected to enabled full userptr support.


More information about the amd-gfx mailing list