Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2545323ybk; Tue, 12 May 2020 02:02:22 -0700 (PDT) X-Google-Smtp-Source: APiQypLKarXqmcKaN37GSrFNcwxbjy92RDmuMdYLhjMX4NFb6U1/PuL1qJ7bucEpEY9Xeigu40hb X-Received: by 2002:a17:906:1a06:: with SMTP id i6mr16524625ejf.90.1589274142769; Tue, 12 May 2020 02:02:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589274142; cv=none; d=google.com; s=arc-20160816; b=SasJqr7ri+K/3XJoHBofPjfVr3OHjkJUELHE7aNiDfJUWVWgo30A8OvVdF2b9o0S/P dV1KNdHq9x1O8tamMfol6I3XCsJyM8swVjD6q6BrF465h1E0yvMnmqHdi1u29Tg85FyK MbkY1Ry2OorSjxbFPkr6bP/nBxOR5t3P21ou5CyB+gRXnLmjJyPuT0rXPvIye6AeB385 WJQlzvT+bLuQ32Jrpk+bNzyBd0C/yvejzycmts+dN5n8ToBUeWQukU5I1gfyq4zs0M/J xl+EBmE2n/UVeHXQBceP8e/7o7cO1j7NGZk520x/9HrZHtvvGrXn5aB1YTZZ0wt54p5g +QIg== 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:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=tFPcYYVPEczCJNqu565ZZzRL31Ro7iqoJLud+V9/W6s=; b=si416ZsX49ckXxd3+CGUfU4O8KxvdGWuYtvIoRbc9s36FH8PUvFl2iow87VZcA+SJb 2jkTWGuI09nyFRHMrSk75UcnONmnYynfdYR4mzEKa14u50YH7fIJOjelL4tx6aW9JipK RwlavPhszI2WQf+dtSivQn/9c8+U0tiJjennaUbF8oSseDGKHyvbcyK8mLprstaOMls9 cefblLM3trB2w0obuShMXihvQJqwdYALshJojI48PSnOTCBoaV2elJfOvF2YufXXvDGM SgFO45RbesbaEhFsg2QCXPTC5Nkzy92Za42rmrst/iobsBcJ0l36kSdFtaGn2aF+J1M7 KmSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=gVfBqrMK; 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 n8si6750847edq.213.2020.05.12.02.01.59; Tue, 12 May 2020 02:02:22 -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=gVfBqrMK; 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 S1729480AbgELJAU (ORCPT + 99 others); Tue, 12 May 2020 05:00:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42836 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729473AbgELJAR (ORCPT ); Tue, 12 May 2020 05:00:17 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1AFBDC05BD09 for ; Tue, 12 May 2020 02:00:17 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id l11so8436504wru.0 for ; Tue, 12 May 2020 02:00:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tFPcYYVPEczCJNqu565ZZzRL31Ro7iqoJLud+V9/W6s=; b=gVfBqrMKYAzurJ/RstzwJY91qBLOOMNjuPIDPoBrD1wsTDF47Xk6LAJDfP1paQCHue hb7A0jpibe9rCFhP8vACHxcmJAL+/3WLLIF1ayojzTlGhgxI0AD/lpcfFzQsuaWtCNTF xdX3NuhPackoyWfVuA8lxXykjw+ve1/2YT27g= 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=tFPcYYVPEczCJNqu565ZZzRL31Ro7iqoJLud+V9/W6s=; b=cw0vHKbqS6kV3GGClur99co6uC+KZQ3CllNvgMTMm7O0yPmmMRWDwkiH53EjG0AmYI OiPu8Nu2YO0mTMJr1iGONSDuZqBvbqBa3t9lrfLJUtv+2YHVITEr+MgeyS8jf5yllZkH kbM2QxCiIOD8qC27RHSnFGfitj26mD9FIHwO01DPyKvA8+PmhGHhgHku0zofhxsSlTgN UGdhkK/gyR6jikUllmZLtrf9UpJw3/cr5OJwBKdB8qbkYeF7bWqcLdpDeoV6lC9Bx1P2 WRUco9Q79yHB1OG1NMevRe6s1khT8wJxUxNfVtdFKEAPzBAmOclY/Y8+pHf0jKHvya+D Hs4g== X-Gm-Message-State: AGi0Pubm1MbWpwL8PS6jWQuS/PBxOIwyyZPJu9argsqnzKDKnU8PYreU qjPXgQJAKGbuD167Bhg0DWdoiQ== X-Received: by 2002:adf:d4c6:: with SMTP id w6mr24833712wrk.92.1589274015818; Tue, 12 May 2020 02:00:15 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id y10sm18845457wrd.95.2020.05.12.02.00.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2020 02:00:15 -0700 (PDT) From: Daniel Vetter To: DRI Development Cc: LKML , Daniel Vetter , linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Chris Wilson , Maarten Lankhorst , =?UTF-8?q?Christian=20K=C3=B6nig?= , Daniel Vetter Subject: [RFC 17/17] drm/i915: Annotate dma_fence_work Date: Tue, 12 May 2020 10:59:44 +0200 Message-Id: <20200512085944.222637-18-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200512085944.222637-1-daniel.vetter@ffwll.ch> References: <20200512085944.222637-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org i915 does tons of allocations from this worker, which lockdep catches. Also generic infrastructure like this with big potential for how dma_fence or other cross driver contracts work, really should be reviewed on dri-devel. Implementing custom wheels for everything within the driver is a classic case of "platform problem" [1]. Which in upstream we really shouldn't have. Since there's no quick way to solve these splats (dma_fence_work is used a bunch in basic buffer management and command submission) like for amdgpu, I'm giving up at this point here. Annotating i915 scheduler and gpu reset could would be interesting, but since lockdep is one-shot we can't see what surprises would lurk there. 1: https://lwn.net/Articles/443531/ 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önig Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/i915_sw_fence_work.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_sw_fence_work.c b/drivers/gpu/drm/i915/i915_sw_fence_work.c index a3a81bb8f2c3..5b74acadaef5 100644 --- a/drivers/gpu/drm/i915/i915_sw_fence_work.c +++ b/drivers/gpu/drm/i915/i915_sw_fence_work.c @@ -17,12 +17,15 @@ static void fence_work(struct work_struct *work) { struct dma_fence_work *f = container_of(work, typeof(*f), work); int err; + bool fence_cookie; + fence_cookie = dma_fence_begin_signalling(); err = f->ops->work(f); if (err) dma_fence_set_error(&f->dma, err); fence_complete(f); + dma_fence_end_signalling(fence_cookie); dma_fence_put(&f->dma); } -- 2.26.2