On Sat, Sep 16, 2017 at 2:42 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote: > Adjust latencies and timeouts for dequeueing with HWS and consolidate > them in one place. Make them longer to allow long running waves to > complete without causing a timeout. The timeout is twice as long as the > latency plus some buffer to make sure we don't detect a timeout > prematurely. > > Change timeouts for dequeueing HQDs without HWS. KFD_UNMAP_LATENCY is > more consistent with what the HWS does for user queues. > > Signed-off-by: Yong Zhao <yong.zhao at amd.com> > Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com> > --- > drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 4 +++- > drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 2 +- > drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 3 --- > 5 files changed, 6 insertions(+), 7 deletions(-) > > 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 3db6a31..5da7ef4 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > @@ -323,7 +323,7 @@ static int destroy_queue_nocpsch(struct device_queue_manager *dqm, > > retval = mqd->destroy_mqd(mqd, q->mqd, > KFD_PREEMPT_TYPE_WAVEFRONT_RESET, > - QUEUE_PREEMPT_DEFAULT_TIMEOUT_MS, > + KFD_UNMAP_LATENCY_MS, > q->pipe, q->queue); > > if (retval) > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h > index faf820a..99e2305 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h > @@ -29,7 +29,9 @@ > #include "kfd_priv.h" > #include "kfd_mqd_manager.h" > > -#define QUEUE_PREEMPT_DEFAULT_TIMEOUT_MS (500) > +#define KFD_UNMAP_LATENCY_MS (4000) > +#define QUEUE_PREEMPT_DEFAULT_TIMEOUT_MS (2 * KFD_UNMAP_LATENCY_MS + 1000) > + > #define CIK_VMID_NUM (8) > #define KFD_VMID_START_OFFSET (8) > #define VMID_PER_DEVICE CIK_VMID_NUM > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c > index 681b639..0c82446 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c > @@ -185,7 +185,7 @@ static void uninitialize(struct kernel_queue *kq) > kq->mqd->destroy_mqd(kq->mqd, > NULL, > false, > - QUEUE_PREEMPT_DEFAULT_TIMEOUT_MS, > + KFD_UNMAP_LATENCY_MS, > kq->queue->pipe, > kq->queue->queue); > else if (kq->queue->properties.type == KFD_QUEUE_TYPE_DIQ) > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c > index 1d31260..9eda884 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c > @@ -376,7 +376,7 @@ int pm_send_set_resources(struct packet_manager *pm, > packet->bitfields2.queue_type = > queue_type__mes_set_resources__hsa_interface_queue_hiq; > packet->bitfields2.vmid_mask = res->vmid_mask; > - packet->bitfields2.unmap_latency = KFD_UNMAP_LATENCY; > + packet->bitfields2.unmap_latency = KFD_UNMAP_LATENCY_MS / 100; > packet->bitfields7.oac_mask = res->oac_mask; > packet->bitfields8.gds_heap_base = res->gds_heap_base; > packet->bitfields8.gds_heap_size = res->gds_heap_size; > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h > index f8d6a8e..099dc33 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h > @@ -673,11 +673,8 @@ int amdkfd_fence_wait_timeout(unsigned int *fence_addr, > > /* Packet Manager */ > > -#define KFD_HIQ_TIMEOUT (500) > - > #define KFD_FENCE_COMPLETED (100) > #define KFD_FENCE_INIT (10) > -#define KFD_UNMAP_LATENCY (150) > > struct packet_manager { > struct device_queue_manager *dqm; > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx This patch is: Reviewed-by: Oded Gabbay <oded.gabbay at gmail.com>