lkml.org 
[lkml]   [2018]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 31/86] drm/amdkfd: Fix SDMA oversubsription handling
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Felix Kuehling <Felix.Kuehling@amd.com>


    [ Upstream commit 8c946b8988acec785bcf67088b6bd0747f36d2d3 ]

    SDMA only supports a fixed number of queues. HWS cannot handle
    oversubscription.

    Signed-off-by: shaoyun liu <shaoyun.liu@amd.com>
    Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
    Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 18 +++++++++++++++++
    1 file changed, 18 insertions(+)

    --- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
    +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
    @@ -205,6 +205,24 @@ int pqm_create_queue(struct process_queu

    switch (type) {
    case KFD_QUEUE_TYPE_SDMA:
    + if (dev->dqm->queue_count >=
    + CIK_SDMA_QUEUES_PER_ENGINE * CIK_SDMA_ENGINE_NUM) {
    + pr_err("Over-subscription is not allowed for SDMA.\n");
    + retval = -EPERM;
    + goto err_create_queue;
    + }
    +
    + retval = create_cp_queue(pqm, dev, &q, properties, f, *qid);
    + if (retval != 0)
    + goto err_create_queue;
    + pqn->q = q;
    + pqn->kq = NULL;
    + retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd,
    + &q->properties.vmid);
    + pr_debug("DQM returned %d for create_queue\n", retval);
    + print_queue(q);
    + break;
    +
    case KFD_QUEUE_TYPE_COMPUTE:
    /* check if there is over subscription */
    if ((sched_policy == KFD_SCHED_POLICY_HWS_NO_OVERSUBSCRIPTION) &&

    \
     
     \ /
      Last update: 2018-02-02 19:20    [W:4.133 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site