Message ID | 20210717202924.987514-1-robdclark@gmail.com (mailing list archive) |
---|---|
Headers |
Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from <linux-media-owner@vger.kernel.org>) id 1m4qsC-00Bpoy-Lo; Sat, 17 Jul 2021 20:25:21 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235379AbhGQU2P (ORCPT <rfc822;mkrufky@linuxtv.org> + 1 other); Sat, 17 Jul 2021 16:28:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235163AbhGQU2O (ORCPT <rfc822;linux-media@vger.kernel.org>); Sat, 17 Jul 2021 16:28:14 -0400 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD367C061762; Sat, 17 Jul 2021 13:25:16 -0700 (PDT) Received: by mail-pj1-x1034.google.com with SMTP id o3-20020a17090a6783b0290173ce472b8aso11434281pjj.2; Sat, 17 Jul 2021 13:25:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uC3Kt3XtLnkno2+Qm5TSlObC0vd0oMsVm4usUcZZhE0=; b=kdjwuhk9YHdADF8pebGkgWK2xYLOLwAmyNlOhdwY2UzzbqpPv320mGwes4Cy3ZTWym yo+kAiJdXbh/6oczbYBiWg4gXbnAS7ua7v7SVBE2PCPnVQPL2mUl14p1pGL7yByo39Md NTxWAx/9e4uXk9/qRWkH6cFk3QlvHa/xi0Vmuy5ZtucfZJTNWWcyPg9JvdrBeKNeSHIu ol8qeZ0DGyf1NMwTTNq1aWLRuLCrWcrz+I2Cpm5GYLtM5vc9TQbVMEGzCsVxEc5xHByG jxCmoN3m4UH/R6mMPEZHfWloLt0M8bZPjO7+kY8jg1mRgi6vk9rv5rIM9rK/BQV8yLXx eX5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uC3Kt3XtLnkno2+Qm5TSlObC0vd0oMsVm4usUcZZhE0=; b=FNgESKgzFQAsfSTyzzMD6iI0X5+5b6YMk6amaeXsqT8l0Y3y6rVIQKG+gTyaa4cnm6 2OAYOqXOyXid7USOgAIcEObmzg6pbhz67Idavbegz7+pHIz7nkaZLMiwzMff2lOUwYFJ SjXJje1GtZTA/I5SsY9xN0y3uyyz25PqoZ/tq+7ffZ9x+9ibYb35aq69nE2eZFNmZhFw P3Fn2Vim25hWwjgZnY5T5YPbLcPpQqluRGWrNAvOPfJ3We4m0HYxo/gDjYOByePkxOiB ESoRA4gMTUBPJGz6CdAAQGpExYJH8CJ2DuyiT4Z+LAuNrX1brHcuni8vH/xb5lUpsRmS M3ow== X-Gm-Message-State: AOAM53381S++wJyiYg5PbQrGX9kAIytJJOuv3pCboXk9sgP/GhS0q2HC Eh6h3M6dLh5uDiekeB1HsIY= X-Google-Smtp-Source: ABdhPJyVmyK0XM4kAPFQungzUnAW5TQP0BSouG+anpFQuhH4Hl65L4sSzUHwZd2jk8FfBb/SIFVN4g== X-Received: by 2002:a17:90a:a898:: with SMTP id h24mr22117356pjq.208.1626553516038; Sat, 17 Jul 2021 13:25:16 -0700 (PDT) Received: from localhost (c-73-25-156-94.hsd1.or.comcast.net. [73.25.156.94]) by smtp.gmail.com with ESMTPSA id i1sm15533365pjs.31.2021.07.17.13.25.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Jul 2021 13:25:14 -0700 (PDT) From: Rob Clark <robdclark@gmail.com> To: dri-devel@lists.freedesktop.org Cc: freedreno@lists.freedesktop.org, Rob Clark <robdclark@chromium.org>, Akhil P Oommen <akhilpo@codeaurora.org>, AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>, Bernard Zhao <bernard@vivo.com>, Dave Airlie <airlied@redhat.com>, Douglas Anderson <dianders@chromium.org>, Emma Anholt <emma@anholt.net>, Jonathan Marek <jonathan@marek.ca>, Jordan Crouse <jordan@cosmicpenguin.net>, Konrad Dybcio <konrad.dybcio@somainline.org>, "Kristian H. Kristensen" <hoegsberg@google.com>, Lee Jones <lee.jones@linaro.org>, linaro-mm-sig@lists.linaro.org (moderated list:DMA BUFFER SHARING FRAMEWORK), linux-arm-msm@vger.kernel.org (open list:DRM DRIVER FOR MSM ADRENO GPU), linux-kernel@vger.kernel.org (open list), linux-media@vger.kernel.org (open list:DMA BUFFER SHARING FRAMEWORK), Marijn Suijten <marijn.suijten@somainline.org>, Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>, Sharat Masetty <smasetty@codeaurora.org>, Zhenzhong Duan <zhenzhong.duan@gmail.com> Subject: [PATCH 00/11] drm/msm: drm scheduler conversion and cleanups Date: Sat, 17 Jul 2021 13:29:02 -0700 Message-Id: <20210717202924.987514-1-robdclark@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -2.5 (--) X-LSpam-Report: No, score=-2.5 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_NONE=-0.0001 autolearn=ham autolearn_force=no |
Series |
drm/msm: drm scheduler conversion and cleanups
|
|
Message
Rob Clark
July 17, 2021, 8:29 p.m. UTC
From: Rob Clark <robdclark@chromium.org>
Conversion to gpu_scheduler, and bonus removal of
drm_gem_object_put_locked()
Rob Clark (11):
drm/msm: Docs and misc cleanup
drm/msm: Small submitqueue creation cleanup
drm/msm: drop drm_gem_object_put_locked()
drm: Drop drm_gem_object_put_locked()
drm/msm/submit: Simplify out-fence-fd handling
drm/msm: Consolidate submit bo state
drm/msm: Track "seqno" fences by idr
drm/msm: Return ERR_PTR() from submit_create()
drm/msm: Conversion to drm scheduler
drm/msm: Drop struct_mutex in submit path
drm/msm: Utilize gpu scheduler priorities
drivers/gpu/drm/drm_gem.c | 22 --
drivers/gpu/drm/msm/Kconfig | 1 +
drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +-
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +-
drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +-
drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +-
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +-
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +-
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +-
drivers/gpu/drm/msm/msm_drv.c | 30 +-
drivers/gpu/drm/msm/msm_fence.c | 39 ---
drivers/gpu/drm/msm/msm_fence.h | 2 -
drivers/gpu/drm/msm/msm_gem.c | 91 +-----
drivers/gpu/drm/msm/msm_gem.h | 37 ++-
drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++--------
drivers/gpu/drm/msm/msm_gpu.c | 50 +---
drivers/gpu/drm/msm/msm_gpu.h | 41 ++-
drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++-
drivers/gpu/drm/msm/msm_ringbuffer.h | 12 +
drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++-
include/drm/drm_gem.h | 2 -
include/uapi/drm/msm_drm.h | 10 +-
23 files changed, 440 insertions(+), 359 deletions(-)
Comments
Am 17.07.21 um 22:29 schrieb Rob Clark: > From: Rob Clark <robdclark@chromium.org> > > Conversion to gpu_scheduler, and bonus removal of > drm_gem_object_put_locked() Oh yes please! If I'm not completely mistaken that was the last puzzle piece missing to unify TTMs and GEMs refcount of objects. Only problem is that I only see patch 7 and 9 in my inbox. Where is the rest? Thanks, Christian. > > Rob Clark (11): > drm/msm: Docs and misc cleanup > drm/msm: Small submitqueue creation cleanup > drm/msm: drop drm_gem_object_put_locked() > drm: Drop drm_gem_object_put_locked() > drm/msm/submit: Simplify out-fence-fd handling > drm/msm: Consolidate submit bo state > drm/msm: Track "seqno" fences by idr > drm/msm: Return ERR_PTR() from submit_create() > drm/msm: Conversion to drm scheduler > drm/msm: Drop struct_mutex in submit path > drm/msm: Utilize gpu scheduler priorities > > drivers/gpu/drm/drm_gem.c | 22 -- > drivers/gpu/drm/msm/Kconfig | 1 + > drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- > drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- > drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- > drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- > drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- > drivers/gpu/drm/msm/msm_drv.c | 30 +- > drivers/gpu/drm/msm/msm_fence.c | 39 --- > drivers/gpu/drm/msm/msm_fence.h | 2 - > drivers/gpu/drm/msm/msm_gem.c | 91 +----- > drivers/gpu/drm/msm/msm_gem.h | 37 ++- > drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- > drivers/gpu/drm/msm/msm_gpu.c | 50 +--- > drivers/gpu/drm/msm/msm_gpu.h | 41 ++- > drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- > drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + > drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- > include/drm/drm_gem.h | 2 - > include/uapi/drm/msm_drm.h | 10 +- > 23 files changed, 440 insertions(+), 359 deletions(-) >
On Mon, Jul 19, 2021 at 1:40 AM Christian König <ckoenig.leichtzumerken@gmail.com> wrote: > > Am 17.07.21 um 22:29 schrieb Rob Clark: > > From: Rob Clark <robdclark@chromium.org> > > > > Conversion to gpu_scheduler, and bonus removal of > > drm_gem_object_put_locked() > > Oh yes please! > > If I'm not completely mistaken that was the last puzzle piece missing to > unify TTMs and GEMs refcount of objects. > > Only problem is that I only see patch 7 and 9 in my inbox. Where is the > rest? Hmm, looks like it should have all gotten to dri-devel: https://lists.freedesktop.org/archives/dri-devel/2021-July/315573.html or if you prefer patchwork: https://patchwork.freedesktop.org/series/92680/ BR, -R > Thanks, > Christian. > > > > > Rob Clark (11): > > drm/msm: Docs and misc cleanup > > drm/msm: Small submitqueue creation cleanup > > drm/msm: drop drm_gem_object_put_locked() > > drm: Drop drm_gem_object_put_locked() > > drm/msm/submit: Simplify out-fence-fd handling > > drm/msm: Consolidate submit bo state > > drm/msm: Track "seqno" fences by idr > > drm/msm: Return ERR_PTR() from submit_create() > > drm/msm: Conversion to drm scheduler > > drm/msm: Drop struct_mutex in submit path > > drm/msm: Utilize gpu scheduler priorities > > > > drivers/gpu/drm/drm_gem.c | 22 -- > > drivers/gpu/drm/msm/Kconfig | 1 + > > drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- > > drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- > > drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- > > drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- > > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- > > drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- > > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- > > drivers/gpu/drm/msm/msm_drv.c | 30 +- > > drivers/gpu/drm/msm/msm_fence.c | 39 --- > > drivers/gpu/drm/msm/msm_fence.h | 2 - > > drivers/gpu/drm/msm/msm_gem.c | 91 +----- > > drivers/gpu/drm/msm/msm_gem.h | 37 ++- > > drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- > > drivers/gpu/drm/msm/msm_gpu.c | 50 +--- > > drivers/gpu/drm/msm/msm_gpu.h | 41 ++- > > drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- > > drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + > > drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- > > include/drm/drm_gem.h | 2 - > > include/uapi/drm/msm_drm.h | 10 +- > > 23 files changed, 440 insertions(+), 359 deletions(-) > > >
Am 19.07.21 um 16:21 schrieb Rob Clark: > On Mon, Jul 19, 2021 at 1:40 AM Christian König > <ckoenig.leichtzumerken@gmail.com> wrote: >> Am 17.07.21 um 22:29 schrieb Rob Clark: >>> From: Rob Clark <robdclark@chromium.org> >>> >>> Conversion to gpu_scheduler, and bonus removal of >>> drm_gem_object_put_locked() >> Oh yes please! >> >> If I'm not completely mistaken that was the last puzzle piece missing to >> unify TTMs and GEMs refcount of objects. >> >> Only problem is that I only see patch 7 and 9 in my inbox. Where is the >> rest? > Hmm, looks like it should have all gotten to dri-devel: > > https://lists.freedesktop.org/archives/dri-devel/2021-July/315573.html Well I've got two mail accounts (AMD, GMail) and neither of them sees the full set. So most likely not a problem on my side. Anyway the whole set is Acked-by: Christian König <christian.koenig@amd.com>. Regards, Christian. > > or if you prefer patchwork: > > https://patchwork.freedesktop.org/series/92680/ > > BR, > -R > >> Thanks, >> Christian. >> >>> Rob Clark (11): >>> drm/msm: Docs and misc cleanup >>> drm/msm: Small submitqueue creation cleanup >>> drm/msm: drop drm_gem_object_put_locked() >>> drm: Drop drm_gem_object_put_locked() >>> drm/msm/submit: Simplify out-fence-fd handling >>> drm/msm: Consolidate submit bo state >>> drm/msm: Track "seqno" fences by idr >>> drm/msm: Return ERR_PTR() from submit_create() >>> drm/msm: Conversion to drm scheduler >>> drm/msm: Drop struct_mutex in submit path >>> drm/msm: Utilize gpu scheduler priorities >>> >>> drivers/gpu/drm/drm_gem.c | 22 -- >>> drivers/gpu/drm/msm/Kconfig | 1 + >>> drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- >>> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- >>> drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- >>> drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- >>> drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- >>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- >>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- >>> drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- >>> drivers/gpu/drm/msm/msm_drv.c | 30 +- >>> drivers/gpu/drm/msm/msm_fence.c | 39 --- >>> drivers/gpu/drm/msm/msm_fence.h | 2 - >>> drivers/gpu/drm/msm/msm_gem.c | 91 +----- >>> drivers/gpu/drm/msm/msm_gem.h | 37 ++- >>> drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- >>> drivers/gpu/drm/msm/msm_gpu.c | 50 +--- >>> drivers/gpu/drm/msm/msm_gpu.h | 41 ++- >>> drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- >>> drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + >>> drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- >>> include/drm/drm_gem.h | 2 - >>> include/uapi/drm/msm_drm.h | 10 +- >>> 23 files changed, 440 insertions(+), 359 deletions(-) >>>
On Mon, Jul 19, 2021 at 10:40:57AM +0200, Christian König wrote: > Am 17.07.21 um 22:29 schrieb Rob Clark: > > From: Rob Clark <robdclark@chromium.org> > > > > Conversion to gpu_scheduler, and bonus removal of > > drm_gem_object_put_locked() > > Oh yes please! > > If I'm not completely mistaken that was the last puzzle piece missing to > unify TTMs and GEMs refcount of objects. Why does drm/msm, a driver not using ttm at all, block ttm refactorings? We can just check whether the TTM using driver is potentially using locked final unref and have a special version of drm_gem_object_put_guaranteed_unlocked or whatever the bikeshed will look like, which doesn't have the migth_lock. Anyway, deed is done now :-) -Daniel > > Only problem is that I only see patch 7 and 9 in my inbox. Where is the > rest? > > Thanks, > Christian. > > > > > Rob Clark (11): > > drm/msm: Docs and misc cleanup > > drm/msm: Small submitqueue creation cleanup > > drm/msm: drop drm_gem_object_put_locked() > > drm: Drop drm_gem_object_put_locked() > > drm/msm/submit: Simplify out-fence-fd handling > > drm/msm: Consolidate submit bo state > > drm/msm: Track "seqno" fences by idr > > drm/msm: Return ERR_PTR() from submit_create() > > drm/msm: Conversion to drm scheduler > > drm/msm: Drop struct_mutex in submit path > > drm/msm: Utilize gpu scheduler priorities > > > > drivers/gpu/drm/drm_gem.c | 22 -- > > drivers/gpu/drm/msm/Kconfig | 1 + > > drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- > > drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- > > drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- > > drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- > > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- > > drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- > > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- > > drivers/gpu/drm/msm/msm_drv.c | 30 +- > > drivers/gpu/drm/msm/msm_fence.c | 39 --- > > drivers/gpu/drm/msm/msm_fence.h | 2 - > > drivers/gpu/drm/msm/msm_gem.c | 91 +----- > > drivers/gpu/drm/msm/msm_gem.h | 37 ++- > > drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- > > drivers/gpu/drm/msm/msm_gpu.c | 50 +--- > > drivers/gpu/drm/msm/msm_gpu.h | 41 ++- > > drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- > > drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + > > drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- > > include/drm/drm_gem.h | 2 - > > include/uapi/drm/msm_drm.h | 10 +- > > 23 files changed, 440 insertions(+), 359 deletions(-) > > >
Am 20.07.21 um 16:07 schrieb Daniel Vetter: > On Mon, Jul 19, 2021 at 10:40:57AM +0200, Christian König wrote: >> Am 17.07.21 um 22:29 schrieb Rob Clark: >>> From: Rob Clark <robdclark@chromium.org> >>> >>> Conversion to gpu_scheduler, and bonus removal of >>> drm_gem_object_put_locked() >> Oh yes please! >> >> If I'm not completely mistaken that was the last puzzle piece missing to >> unify TTMs and GEMs refcount of objects. > Why does drm/msm, a driver not using ttm at all, block ttm refactorings? > We can just check whether the TTM using driver is potentially using locked > final unref and have a special version of > drm_gem_object_put_guaranteed_unlocked or whatever the bikeshed will look > like, which doesn't have the migth_lock. Because we now don't have any unrealistic lock inversion between dev->struct_mutex and obj->resv lockdep can complain any more. Cheers, Christian. > > Anyway, deed is done now :-) > -Daniel > >> Only problem is that I only see patch 7 and 9 in my inbox. Where is the >> rest? >> >> Thanks, >> Christian. >> >>> Rob Clark (11): >>> drm/msm: Docs and misc cleanup >>> drm/msm: Small submitqueue creation cleanup >>> drm/msm: drop drm_gem_object_put_locked() >>> drm: Drop drm_gem_object_put_locked() >>> drm/msm/submit: Simplify out-fence-fd handling >>> drm/msm: Consolidate submit bo state >>> drm/msm: Track "seqno" fences by idr >>> drm/msm: Return ERR_PTR() from submit_create() >>> drm/msm: Conversion to drm scheduler >>> drm/msm: Drop struct_mutex in submit path >>> drm/msm: Utilize gpu scheduler priorities >>> >>> drivers/gpu/drm/drm_gem.c | 22 -- >>> drivers/gpu/drm/msm/Kconfig | 1 + >>> drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- >>> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- >>> drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- >>> drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- >>> drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- >>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- >>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- >>> drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- >>> drivers/gpu/drm/msm/msm_drv.c | 30 +- >>> drivers/gpu/drm/msm/msm_fence.c | 39 --- >>> drivers/gpu/drm/msm/msm_fence.h | 2 - >>> drivers/gpu/drm/msm/msm_gem.c | 91 +----- >>> drivers/gpu/drm/msm/msm_gem.h | 37 ++- >>> drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- >>> drivers/gpu/drm/msm/msm_gpu.c | 50 +--- >>> drivers/gpu/drm/msm/msm_gpu.h | 41 ++- >>> drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- >>> drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + >>> drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- >>> include/drm/drm_gem.h | 2 - >>> include/uapi/drm/msm_drm.h | 10 +- >>> 23 files changed, 440 insertions(+), 359 deletions(-) >>>
On Tue, Jul 20, 2021 at 04:16:56PM +0200, Christian König wrote: > Am 20.07.21 um 16:07 schrieb Daniel Vetter: > > On Mon, Jul 19, 2021 at 10:40:57AM +0200, Christian König wrote: > > > Am 17.07.21 um 22:29 schrieb Rob Clark: > > > > From: Rob Clark <robdclark@chromium.org> > > > > > > > > Conversion to gpu_scheduler, and bonus removal of > > > > drm_gem_object_put_locked() > > > Oh yes please! > > > > > > If I'm not completely mistaken that was the last puzzle piece missing to > > > unify TTMs and GEMs refcount of objects. > > Why does drm/msm, a driver not using ttm at all, block ttm refactorings? > > We can just check whether the TTM using driver is potentially using locked > > final unref and have a special version of > > drm_gem_object_put_guaranteed_unlocked or whatever the bikeshed will look > > like, which doesn't have the migth_lock. > > Because we now don't have any unrealistic lock inversion between > dev->struct_mutex and obj->resv lockdep can complain any more. Yeah I know, but we didn't have that since a while ago if you're limiting the audit to ttm using drivers. Which are the only ones that matter for this, the only thing that caused issues was object_put still being dev->struct_mutex infested for backwards compat. But even that changed a while ago I think. -Daniel > > Cheers, > Christian. > > > > > Anyway, deed is done now :-) > > -Daniel > > > > > Only problem is that I only see patch 7 and 9 in my inbox. Where is the > > > rest? > > > > > > Thanks, > > > Christian. > > > > > > > Rob Clark (11): > > > > drm/msm: Docs and misc cleanup > > > > drm/msm: Small submitqueue creation cleanup > > > > drm/msm: drop drm_gem_object_put_locked() > > > > drm: Drop drm_gem_object_put_locked() > > > > drm/msm/submit: Simplify out-fence-fd handling > > > > drm/msm: Consolidate submit bo state > > > > drm/msm: Track "seqno" fences by idr > > > > drm/msm: Return ERR_PTR() from submit_create() > > > > drm/msm: Conversion to drm scheduler > > > > drm/msm: Drop struct_mutex in submit path > > > > drm/msm: Utilize gpu scheduler priorities > > > > > > > > drivers/gpu/drm/drm_gem.c | 22 -- > > > > drivers/gpu/drm/msm/Kconfig | 1 + > > > > drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- > > > > drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- > > > > drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- > > > > drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- > > > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- > > > > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- > > > > drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- > > > > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- > > > > drivers/gpu/drm/msm/msm_drv.c | 30 +- > > > > drivers/gpu/drm/msm/msm_fence.c | 39 --- > > > > drivers/gpu/drm/msm/msm_fence.h | 2 - > > > > drivers/gpu/drm/msm/msm_gem.c | 91 +----- > > > > drivers/gpu/drm/msm/msm_gem.h | 37 ++- > > > > drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- > > > > drivers/gpu/drm/msm/msm_gpu.c | 50 +--- > > > > drivers/gpu/drm/msm/msm_gpu.h | 41 ++- > > > > drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- > > > > drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + > > > > drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- > > > > include/drm/drm_gem.h | 2 - > > > > include/uapi/drm/msm_drm.h | 10 +- > > > > 23 files changed, 440 insertions(+), 359 deletions(-) > > > > >