From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FE07C432BE for ; Mon, 16 Aug 2021 22:25:35 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 644A560EE5 for ; Mon, 16 Aug 2021 22:25:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 644A560EE5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5AA226E07B; Mon, 16 Aug 2021 22:25:34 +0000 (UTC) Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by gabe.freedesktop.org (Postfix) with ESMTPS id 837B16E07B; Mon, 16 Aug 2021 22:25:32 +0000 (UTC) Received: by mail-wr1-x433.google.com with SMTP id k29so25676595wrd.7; Mon, 16 Aug 2021 15:25:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=3pjhlUQ9zfXp80LAsXsFddhwkDCjIr1Qa6F73Rea0zo=; b=R2kIByJ61EjHKTZg4V2rq3Z7W17o8o4uPxU/T0mj4fztjC60Yn60rkDWcP6k5wuKSe pOMwhNxGPeTTcHosG5mvzlvzBfVfTIHyPXfDsxEXaHQVkpwMLcYGdU7mN6+B5fozfxKM OTH8GlaS/Js2USbMgOBx7JPthoW4h6Jg5KbFr/zqgfT3gJo3klvwqM672rjTni4+6MPQ Dt45zNlkb5nWvdI7+NUwHYNQ+Vn9N9Qm02MZMN9j0YvET7t1EAtJYpGhxwPGK6d8b3SM uWIAl+1ZGvF9C4dlLBhDCS2JJiNaIhs9c+wVXkzk4Y2vrItPDVH8Ei36QF0oe7kdEHlS j7PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=3pjhlUQ9zfXp80LAsXsFddhwkDCjIr1Qa6F73Rea0zo=; b=QYesSpi0+gITIDAoWu6oVBTHoIagWwVlgoyodWOkx/VzxntKQWlTAHoqnYixvh84qT 2Xm45g9Zo52Vs/1FGkgl8y+6Z5TkviP5PTay98jptREkRSiZV5fyvlkssJ7/7rE3PHxl caTKrj8p5I3B4dlhNCsLkz8KtaRiYFcePKDBLFz1rFuFAkzst1YpyuMej4dkdg9KFZHm sp7qZPauGNHUexv8ERcfNqryKIAaF+I4I4xIHPS6cMU57a5KvEdGyfgHCY2Dc6DivaV2 F7Jqq/hLrwbkdyhVuMMGjXGduOqnGE2s7CFXozgKGUtbelHIZdEAeIyIBXibzaO+15DZ r2PA== X-Gm-Message-State: AOAM532wBStPw75bBWEX+6f9iZtjjuMvTlX3vOxG1xPZHCAbama4Xp4h Skr50RPn5UJOb8a2x0YE0MGy4uLZJXRxtO7qmdo= X-Google-Smtp-Source: ABdhPJyNem4NbmX4zNKpNipu1Xbu257Pj4hM0/aydLtGI6NNqHWvdhzNERN5io39lCQQLYxin7sgkoaB45AFy8ihnhE= X-Received: by 2002:adf:dd11:: with SMTP id a17mr312204wrm.132.1629152731183; Mon, 16 Aug 2021 15:25:31 -0700 (PDT) MIME-Version: 1.0 References: <20210807183804.459850-1-robdclark@gmail.com> <9a7bdcb5-4f6f-539b-060e-d69ec15da874@amd.com> In-Reply-To: <9a7bdcb5-4f6f-539b-060e-d69ec15da874@amd.com> From: Rob Clark Date: Mon, 16 Aug 2021 15:29:49 -0700 Message-ID: Subject: Re: [PATCH v2 0/5] dma-fence: Deadline awareness To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: dri-devel , linux-arm-msm , freedreno , Daniel Vetter , =?UTF-8?Q?Christian_K=C3=B6nig?= , Rob Clark , Alex Deucher , Andrey Grodzovsky , Gustavo Padovan , Jack Zhang , Lee Jones , "moderated list:DMA BUFFER SHARING FRAMEWORK" , open list , "open list:DMA BUFFER SHARING FRAMEWORK" , Luben Tuikov , Steven Price , Tian Tao Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" dma_fence_array looks simple enough, just propagate the deadline to all children. I guess dma_fence_chain is similar (ie. fence is signalled when all children are signalled), the difference being simply that children are added dynamically? BR, -R On Mon, Aug 16, 2021 at 3:17 AM Christian K=C3=B6nig wrote: > > The general approach seems to make sense now I think. > > One minor thing which I'm missing is adding support for this to the > dma_fence_array and dma_fence_chain containers. > > Regards, > Christian. > > Am 07.08.21 um 20:37 schrieb Rob Clark: > > From: Rob Clark > > > > Based on discussion from a previous series[1] to add a "boost" mechanis= m > > when, for example, vblank deadlines are missed. Instead of a boost > > callback, this approach adds a way to set a deadline on the fence, by > > which the waiter would like to see the fence signalled. > > > > I've not yet had a chance to re-work the drm/msm part of this, but > > wanted to send this out as an RFC in case I don't have a chance to > > finish the drm/msm part this week. > > > > Original description: > > > > In some cases, like double-buffered rendering, missing vblanks can > > trick the GPU into running at a lower frequence, when really we > > want to be running at a higher frequency to not miss the vblanks > > in the first place. > > > > This is partially inspired by a trick i915 does, but implemented > > via dma-fence for a couple of reasons: > > > > 1) To continue to be able to use the atomic helpers > > 2) To support cases where display and gpu are different drivers > > > > [1] https://patchwork.freedesktop.org/series/90331/ > > > > v1: https://patchwork.freedesktop.org/series/93035/ > > v2: Move filtering out of later deadlines to fence implementation > > to avoid increasing the size of dma_fence > > > > Rob Clark (5): > > dma-fence: Add deadline awareness > > drm/vblank: Add helper to get next vblank time > > drm/atomic-helper: Set fence deadline for vblank > > drm/scheduler: Add fence deadline support > > drm/msm: Add deadline based boost support > > > > drivers/dma-buf/dma-fence.c | 20 +++++++ > > drivers/gpu/drm/drm_atomic_helper.c | 36 ++++++++++++ > > drivers/gpu/drm/drm_vblank.c | 31 ++++++++++ > > drivers/gpu/drm/msm/msm_fence.c | 76 ++++++++++++++++++++++++= + > > drivers/gpu/drm/msm/msm_fence.h | 20 +++++++ > > drivers/gpu/drm/msm/msm_gpu.h | 1 + > > drivers/gpu/drm/msm/msm_gpu_devfreq.c | 20 +++++++ > > drivers/gpu/drm/scheduler/sched_fence.c | 25 ++++++++ > > drivers/gpu/drm/scheduler/sched_main.c | 3 + > > include/drm/drm_vblank.h | 1 + > > include/drm/gpu_scheduler.h | 6 ++ > > include/linux/dma-fence.h | 16 ++++++ > > 12 files changed, 255 insertions(+) > > >