Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp642007pxb; Wed, 3 Feb 2021 14:00:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJzjbmpHLkm82qCP+xdfCZ1JS7Jf6u6wLgDhpM7zTO8BaQt9SSCe3ZBKC9k6t/F4TQFdNm/q X-Received: by 2002:a17:906:19c3:: with SMTP id h3mr5186034ejd.429.1612389621751; Wed, 03 Feb 2021 14:00:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612389621; cv=none; d=google.com; s=arc-20160816; b=Zza/ytua9CVwHg7UTp/HqIg+q9iTJV5/LOlbye9Pq6Y1Owl2YMMZ1ptxg4y9ULcJRM EoDz7IsugTP2gPeFOi70wLero0zPkMpLinQuZbyPtzIKMDzEBbJj4Z1n4NvjoxOuzAnm 64OIyKSuGhLyBmZRLFakKKxD+olJR5pTTWsKBxTRDfRN5wgQrAt6hBQuQOAMGxBHWbkL iSoQdQg31EPgiou+huGezYES4SVK6Hr0YHKMWK4XhbfSDNUaK6ldSYR6+xvCiLgtU2Bj pp4SXUjgJpcWOi7DMvDI435xdNedR5tC4BRAnftjeSzoWXK+9oJFPoOHmjANsCJakFEw uOXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:message-id:date:to:from:subject :references:in-reply-to:content-transfer-encoding:mime-version :dkim-signature; bh=NZyBJaM1wJYJrM3N9nWdphIUZzNaZF7K0cw+Alsw60s=; b=SEKbw0xQK7vhyd/l47s9pTrHuyCrjsH1qDixZ9bkg3wohA1fU7i8ircnoaJnCbG1hd cm0NJVYx6+9bGoCcEwcAE3lFTw5A8KMLATBr6/jcXfkXtbqrjO5uLKvNEDZCVHQOJnK/ u8Q/lr2ZtJ1qpomWY22H8Ifv9Nwb1NzFNLfTUVzuJDjSutGRiAhImPm6ntwZaBXNP7sA Ib9ib3y9mvinzrdAMUIZ89kU1sxDlLgW4cCm3P5tZGyJh4G88N2c2Hv1/Dw5KOd6mnCJ n8+fMo+at361L59t4z57tLW6y9y3d60OOU/vPI/zpcpl4OvZty38dHPlYtdhA04rtLsC Es6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=YuOUTknz; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b8si2210209eds.433.2021.02.03.13.59.57; Wed, 03 Feb 2021 14:00:21 -0800 (PST) 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=@chromium.org header.s=google header.b=YuOUTknz; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232536AbhBCV7P (ORCPT + 99 others); Wed, 3 Feb 2021 16:59:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232249AbhBCV7M (ORCPT ); Wed, 3 Feb 2021 16:59:12 -0500 Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 00032C061786 for ; Wed, 3 Feb 2021 13:58:31 -0800 (PST) Received: by mail-pf1-x42b.google.com with SMTP id w18so707543pfu.9 for ; Wed, 03 Feb 2021 13:58:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:content-transfer-encoding:in-reply-to:references :subject:from:to:date:message-id:user-agent; bh=NZyBJaM1wJYJrM3N9nWdphIUZzNaZF7K0cw+Alsw60s=; b=YuOUTknzG6QCCWY+6/9xwyK6R03ljdXy/eo0oFI/N+6GwosnDa5CyqQSfRHomVRq5Y /QU7kuuwvyKHdo8lw5/0kfKeynARxii+bcfHMWHLjs9pAUBAC1hEJdjvZFQ4lTU08YcK JPPSVfydjzgAxHpwSzs/Slc3zbOWlaxSXZv/8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:content-transfer-encoding :in-reply-to:references:subject:from:to:date:message-id:user-agent; bh=NZyBJaM1wJYJrM3N9nWdphIUZzNaZF7K0cw+Alsw60s=; b=s7H32sW6z3zEhs55qoPaqiQi5zd+UN0qwac9l/udWRLJ2qbaFw46DiSB0FWs6yWex6 Myg7dA6kSXSZMG8E3v8f+eo5GpEZnC3d29U1Q1j5w3/2PB4XcR0lR9/64q1DVV1Nkzwo vR79umex/KorI+9LDtTp7BoR9e8uzCu/Z+14OFXOj/KefHLljZiigwLC20hzaAiC2YZm khGLLJjMOJiNork0iwO7sluL748IFsEq4RnuENrxmTbQqyJqZK5lk3HYvUSfzcqUrkLm Facap87RpHVDfATwd/DstrK9WgxBp5k+6BFBPtPu9Vk6ghKmQowyZqyg2GfX/IZs5vuT w5jw== X-Gm-Message-State: AOAM531pkGxfQGnMDxOHXBfgHzEH1qt8+rYI278T/q+l87GrXH5oT1Fk 2FvrDpPl0AS1Gw5wFsRCbv12h7vB3kW6Lg== X-Received: by 2002:a65:6207:: with SMTP id d7mr6025724pgv.92.1612389511562; Wed, 03 Feb 2021 13:58:31 -0800 (PST) Received: from chromium.org ([2620:15c:202:201:3571:bd6e:ee19:b59f]) by smtp.gmail.com with ESMTPSA id o20sm3953813pgn.6.2021.02.03.13.58.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Feb 2021 13:58:30 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: References: <20210125234901.2730699-1-swboyd@chromium.org> Subject: Re: [PATCH] drm/msm/kms: Make a lock_class_key for each crtc mutex From: Stephen Boyd To: Krishna Manikandan , Linux Kernel Mailing List , Rob Clark , dri-devel , freedreno , linux-arm-msm Date: Wed, 03 Feb 2021 13:58:28 -0800 Message-ID: <161238950899.76967.16385691346035591773@swboyd.mtv.corp.google.com> User-Agent: alot/0.9.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Rob Clark (2021-02-03 09:29:09) > On Wed, Feb 3, 2021 at 2:10 AM Daniel Vetter wrote: > > > > On Tue, Feb 02, 2021 at 08:51:25AM -0800, Rob Clark wrote: > > > On Tue, Feb 2, 2021 at 7:46 AM Daniel Vetter wrote: > > > > > > > > On Mon, Jan 25, 2021 at 03:49:01PM -0800, Stephen Boyd wrote: > > > > > This is because lockdep thinks all the locks taken in lock_crtcs(= ) are > > > > > the same lock, when they actually aren't. That's because we call > > > > > mutex_init() in msm_kms_init() and that assigns on static key for= every > > > > > lock initialized in this loop. Let's allocate a dynamic number of > > > > > lock_class_keys and assign them to each lock so that lockdep can = figure > > > > > out an AA deadlock isn't possible here. > > > > > > > > > > Fixes: b3d91800d9ac ("drm/msm: Fix race condition in msm driver w= ith async layer updates") > > > > > Cc: Krishna Manikandan > > > > > Signed-off-by: Stephen Boyd > > > > > > > > This smells like throwing more bad after initial bad code ... > > > > > > > > First a rant: https://blog.ffwll.ch/2020/08/lockdep-false-positives= .html > > > > Some technical on the patch itself: I think you want > > mutex_lock_nested(crtc->lock, drm_crtc_index(crtc)), not your own locki= ng > > classes hand-rolled. It's defacto the same, but much more obviously > > correct since self-documenting. >=20 > hmm, yeah, that is a bit cleaner.. but this patch is already on > msm-next, maybe I'll add a patch on top to change it How many CRTCs are there? The subclass number tops out at 8, per MAX_LOCKDEP_SUBCLASSES so if we have more than that many bits possible then it will fail.