Received: by 2002:a25:2c96:0:0:0:0:0 with SMTP id s144csp1162029ybs; Mon, 25 May 2020 08:35:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyMMdv4by7ZdjFxSPnd3UODsrm/nuEZVSyGTELAztUlEVhbsQHjv39xU9T9LCJ9MSGWeAHe X-Received: by 2002:a17:906:f8d6:: with SMTP id lh22mr19301033ejb.132.1590420944292; Mon, 25 May 2020 08:35:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590420944; cv=none; d=google.com; s=arc-20160816; b=OQn/oHQS1X9inqbg7spKMkz4x2clt9ObCWH9bzkD9gf6aKG7+GJJp5ETrvFWwcHCRf diuzXuNAp1lVwpLk2HhofHaQrHE5lKOEse7UG2s1n3GZ9tWZgEdtSbXreLbX7F+cbpCL mxCO/oCCLNND8rI/jAOWomcnZgiNNvQjwJt0LF6ysZa6+iMsOEpGaCFC0FKMPkGCw9Mw MZyKMHiWVkvk6bLCk6fS7AO2qNw1dCDuTE+MswZ0ykipcTzINQpFnQ5JxzpthDqUeYfs HlOE1FrKJKHyvhnFQ0VPrK7yCPTVsK7Qpayu3taWsP3GgFjT7tnlBlW6Mb1uQK3+ru4o mBeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=bAUJzoc7IqUjSn+yo0peq2R8rxLuXszL8v1+SHoHNg4=; b=1BQ8lwvPneiwl9FfZd5mjXr0qIf0rhJeX/2cTHAEx4roTUERQsGYgtQD4IInsUfQUE gf0rbLhs04a/N6BppuEC+XiJv4jl7WGkeiesGWFfDHsJQNWkRQLgg761/CgtyR5Y6zLQ off92/8l8QEenRP1910VAxE7Q1vUy4cPkMHMqgwoMBhIDNTtDSUNZtA+z0gSZKrj7Zro IKQU5PFV2pTjN0KL4PVDmGogAbqbcIPEFi2GxAGPlP/RwnVIfYvwc7DI/vOVoyxpMty+ iIakbG1EjzhkZYVaRAL14DP7MMw2T7RPcuUJBzXy+dW2/bn9NvuagpYuUWpMPUdLiZdO pqxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b="Tr5Is/tF"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m19si9547520ejd.738.2020.05.25.08.35.20; Mon, 25 May 2020 08:35:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b="Tr5Is/tF"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404170AbgEYPbM (ORCPT + 99 others); Mon, 25 May 2020 11:31:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2403996AbgEYPbL (ORCPT ); Mon, 25 May 2020 11:31:11 -0400 Received: from mail-ot1-x343.google.com (mail-ot1-x343.google.com [IPv6:2607:f8b0:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA9EDC061A0E for ; Mon, 25 May 2020 08:31:10 -0700 (PDT) Received: by mail-ot1-x343.google.com with SMTP id f18so14036335otq.11 for ; Mon, 25 May 2020 08:31:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=bAUJzoc7IqUjSn+yo0peq2R8rxLuXszL8v1+SHoHNg4=; b=Tr5Is/tFfhBcNvoJFDbRu5Ln8A76+CnG+YDW2gJrWDvyNGkCXJ7tLlLksMoNneiC/G JQcpPGhoKYZL1sU8qtPMsxurg5u2WpN3lkX8GcIcMGy67IE5X9Z/KXbl7mWg/wzgEVa5 0YNI55NOQ1RqN/Ren3NRDgb8W+ScMuN+eyqoU= 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=bAUJzoc7IqUjSn+yo0peq2R8rxLuXszL8v1+SHoHNg4=; b=L1G4CrKhUaGpLMKeJiZEmqRuhSGzywLDxXVym0e3Cqh4ib8iaACV9MXgsCG03eTAyu 7wIoLhZO922cgToBzZPFFIYE2kiq8lbduGXjVZzg+D+1YICnu4p6tH6cYo+UaUzRXWGd sx+1HlIvQJFKIsIwbi9x0JZsyO/ngSyAvFUBVNXMKXZrq9ZSfviNfvvUIJ2JEZYJwn1b IS04ncgKgAe08qM/lznHqqsCbS0txckX9l0nmE0S3GMj6Tpp3IKzIef0Mjl4Wy37/kXa 2pPz9OmVl/KCuY5UKEabPgJN4OMO9tufkMc7xIn46sBeMVUA/R10WunCh4xgcQWfGpHK nKog== X-Gm-Message-State: AOAM530NbsCMaOibO57Kf2LKWC/E5jkzHMrrGlDlmtgA/fPeLajUMHVX afjP0fbwnnaugJqEwsP2WU6DAU2IS3sXLJ95ki1+uGVK X-Received: by 2002:a9d:768a:: with SMTP id j10mr5068453otl.188.1590420670094; Mon, 25 May 2020 08:31:10 -0700 (PDT) MIME-Version: 1.0 References: <20200512085944.222637-1-daniel.vetter@ffwll.ch> <20200512085944.222637-9-daniel.vetter@ffwll.ch> In-Reply-To: <20200512085944.222637-9-daniel.vetter@ffwll.ch> From: Daniel Vetter Date: Mon, 25 May 2020 17:30:59 +0200 Message-ID: Subject: Re: [RFC 08/17] drm/scheduler: use dma-fence annotations in main thread To: DRI Development , Lucas Stach , Christian Gmeiner , Qiang Yu , Rob Herring , Tomeu Vizoso , Steven Price , Alyssa Rosenzweig , "Anholt, Eric" Cc: LKML , "open list:DMA BUFFER SHARING FRAMEWORK" , "moderated list:DMA BUFFER SHARING FRAMEWORK" , linux-rdma , amd-gfx list , intel-gfx , Chris Wilson , Maarten Lankhorst , =?UTF-8?Q?Christian_K=C3=B6nig?= , Daniel Vetter Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 12, 2020 at 11:00 AM Daniel Vetter wro= te: > > If the scheduler rt thread gets stuck on a mutex that we're holding > while waiting for gpu workloads to complete, we have a problem. > > Add dma-fence annotations so that lockdep can check this for us. > > I've tried to quite carefully review this, and I think it's at the > right spot. But obviosly no expert on drm scheduler. > > Cc: linux-media@vger.kernel.org > Cc: linaro-mm-sig@lists.linaro.org > Cc: linux-rdma@vger.kernel.org > Cc: amd-gfx@lists.freedesktop.org > Cc: intel-gfx@lists.freedesktop.org > Cc: Chris Wilson > Cc: Maarten Lankhorst > Cc: Christian K=C3=B6nig > Signed-off-by: Daniel Vetter Adding a bunch more people from drivers using the drm/scheduler (so that's maintainers for etnaviv, lima, panfrost, and v3d on top of amdgpu folks arlready on cc). Any takes or testing on this and well the entire series very much appreciated, there's also another patch to anotate the tdr work in this series. Plus ofc the prep work. Thanks, Daniel > --- > drivers/gpu/drm/scheduler/sched_main.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/sch= eduler/sched_main.c > index 2f319102ae9f..06a736e506ad 100644 > --- a/drivers/gpu/drm/scheduler/sched_main.c > +++ b/drivers/gpu/drm/scheduler/sched_main.c > @@ -763,9 +763,12 @@ static int drm_sched_main(void *param) > struct sched_param sparam =3D {.sched_priority =3D 1}; > struct drm_gpu_scheduler *sched =3D (struct drm_gpu_scheduler *)p= aram; > int r; > + bool fence_cookie; > > sched_setscheduler(current, SCHED_FIFO, &sparam); > > + fence_cookie =3D dma_fence_begin_signalling(); > + > while (!kthread_should_stop()) { > struct drm_sched_entity *entity =3D NULL; > struct drm_sched_fence *s_fence; > @@ -823,6 +826,9 @@ static int drm_sched_main(void *param) > > wake_up(&sched->job_scheduled); > } > + > + dma_fence_end_signalling(fence_cookie); > + > return 0; > } > > -- > 2.26.2 > --=20 Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch