Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp1894294ybn; Thu, 26 Sep 2019 03:56:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqzi+k5YyJz2SHKYWeKf907xpbZaTKm1tBeXWgPjpSobgfatssYGcQGdg5a0/jOYKXEBe3Mi X-Received: by 2002:a50:da44:: with SMTP id a4mr2879111edk.120.1569495418250; Thu, 26 Sep 2019 03:56:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569495418; cv=none; d=google.com; s=arc-20160816; b=TncU9mJmo6wejLAwkIDcIE2QlWJFCG7XLu+rC2VJKFg4Pq/h4fzS2mKBngcmbyncBF RF1KJGEPDXj25eP0wfJ3oMnD+hdUPpE4rC0TTkJ2t60NwdsAge1nCjTEcQEL2O3/4ciu VtTbXHQIPZMNSwRab/xdzrxVPz93qkFzLIUpz0R4O2VsiBYEjehmegbXLcYPBFPAVldF Z7dKQevkS6kD/GUizeCt34IGejXnkvKqGAucvMVXD9IW6ufMCN/eaIzT/jayCJN9ndkS cX3AONObOQneVZbvWp3srBkTBABIgJsXnsZzELSTwNgnNoEt7jHXwf2mpKChdk05Mhb+ DexQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=epOtOr4mem/trvdwS8Jkf4u8243iLVoX55R61DBnJcA=; b=h/X28nxOkSHXZJDpruMdYN6Pi4DYp4v8OqTg/ndTLJraCdo9wSYuFYqSOOA0bBZpeh Fq9ieqn86MP163lV3332j1qUMzxW5eD4jsIB3MpFzAYfmhGwurInJpSR0h63OUHVWr7H NPf4/3FBQGj/LmA1QeU4AmwQ9+u8hTLty7K18YqYMiELnqeXJUhZiFhig2dD23HJRCmW DJVbjGS+rP5xd5GtgEFue2FbVYOUbklB+JETusbSLUy9V4oMMPgRcd/3K3MrLNeD9Ey3 XhjT07ptzW/hi8zTmFZbz4inmKZW8xkT+Jlrt+qpB9Gf4b2J47xAaeegSre/buE7mplU iTJw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s2si789254ejj.327.2019.09.26.03.56.27; Thu, 26 Sep 2019 03:56:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392026AbfIYQrP (ORCPT + 99 others); Wed, 25 Sep 2019 12:47:15 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:37833 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732903AbfIYQrP (ORCPT ); Wed, 25 Sep 2019 12:47:15 -0400 Received: from bigeasy by Galois.linutronix.de with local (Exim 4.80) (envelope-from ) id 1iDARc-0007C7-6I; Wed, 25 Sep 2019 18:47:12 +0200 Date: Wed, 25 Sep 2019 18:47:12 +0200 From: Sebastian Andrzej Siewior To: Clark Williams Cc: bigeasy@linutronix.com, tglx@linutronix.com, linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PREEMPT_RT PATCH 1/3] i915: do not call lockdep_assert_irqs_disabled() on PREEMPT_RT Message-ID: <20190925164712.msyraninmjiomqr5@linutronix.de> References: <20190820003319.24135-1-clark.williams@gmail.com> <20190820003319.24135-2-clark.williams@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190820003319.24135-2-clark.williams@gmail.com> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-08-19 19:33:17 [-0500], Clark Williams wrote: > From: Clark Williams > > The 'breadcrumb' code in the i915 driver calls lockdep_assert_irqs_disabled() > when starting some operations. This is valid on a stock kernel > but on a PREEMPT_RT kernel the spin_lock_irq*() calls to not disable > interrupts and likewise the spin_unlock_irq*() calls to not enable interrupts. > > Conditionalize these calls based on whether PREEMPT_RT_FULL is enabled. > > Signed-off-by: Clark Williams > --- > drivers/gpu/drm/i915/intel_breadcrumbs.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c > index 832cb6b1e9bd..3eef6010ebf6 100644 > --- a/drivers/gpu/drm/i915/intel_breadcrumbs.c > +++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c > @@ -101,7 +101,8 @@ __dma_fence_signal__notify(struct dma_fence *fence) > struct dma_fence_cb *cur, *tmp; > > lockdep_assert_held(fence->lock); > - lockdep_assert_irqs_disabled(); > + if (!IS_ENABLED(CONFIG_PREEMPT_RT_FULL)) > + lockdep_assert_irqs_disabled(); > Both asserts went in commit c36beba6b296b ("drm/i915: Seal races between async GPU cancellation, retirement and signaling"). It looks like its purpose is to ensure that ->lock is acquired and that interrupts are also disabled because that lock is always acquired with disabled interrupts. This isn't required, lockdep is clever enough to yell at you if you manage to use it wrong. Let me drop that lockdep_assert_irqs_disabled(). Sebastian