[PATCH 1/3] drm/amdkfd: Add some eveiction debugging code

Felix Kuehling felix.kuehling at amd.com
Thu Sep 10 22:31:58 UTC 2020


Am 2020-09-10 um 2:54 p.m. schrieb Philip Cox:
> Extending the module parameter debug_evictions to also print a stack
> trace when the eviction code path is called.
>
> Signed-off-by: Philip Cox <Philip.Cox at amd.com>

This patch is

Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>


> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 1 +
>  drivers/gpu/drm/amd/amdkfd/kfd_process.c              | 1 +
>  2 files changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> index 20ef048d6a03..cafbc3aa980a 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -1966,6 +1966,7 @@ int kfd_process_vm_fault(struct device_queue_manager *dqm,
>  
>  	if (!p)
>  		return -EINVAL;
> +	WARN(debug_evictions, "Evicting pid %d", p->lead_thread->pid);
>  	pdd = kfd_get_process_device_data(dqm->dev, p);
>  	if (pdd)
>  		ret = dqm->ops.evict_process_queues(dqm, &pdd->qpd);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> index a0e12a79ab7d..1e15aa7d8ae8 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> @@ -1488,6 +1488,7 @@ void kfd_suspend_all_processes(void)
>  	unsigned int temp;
>  	int idx = srcu_read_lock(&kfd_processes_srcu);
>  
> +	WARN(debug_evictions, "Evicting all processes");
>  	hash_for_each_rcu(kfd_processes_table, temp, p, kfd_processes) {
>  		cancel_delayed_work_sync(&p->eviction_work);
>  		cancel_delayed_work_sync(&p->restore_work);


More information about the amd-gfx mailing list