Received: by 10.213.65.68 with SMTP id h4csp331411imn; Tue, 13 Mar 2018 05:57:05 -0700 (PDT) X-Google-Smtp-Source: AG47ELvV0s6C0fuJTexZBl9p/NxFFrKk57LzeNsgU5qD9VWPsz7jkqSRP4MR8cq0l+EAu4ZYgUjU X-Received: by 10.98.200.80 with SMTP id z77mr505513pff.85.1520945825465; Tue, 13 Mar 2018 05:57:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520945825; cv=none; d=google.com; s=arc-20160816; b=h67uao+RQmDLUc+23SWQreab1mXBI1M01sU1dByKD17lOOCZSjE0U7G88valATYs3I BE3qXwvO8BUB8u6jeCj+BN/V+zyglbMVLa+gxcTk6a6U2NoJKkpzabB/uEHrSvBmSxV9 A9GPofwxE2GqRUHOoRP9FhMEiN1Ay1AofFFLZJG+t4mN3NreaxvTb042ks7km0HC5aY1 N1LShZbCkzu2dfe3Nr7GOWASbgT7HpXjEP4WuhecvsaHvbFZx5qqFHCvXu+zvvPz8hqV aaMWKKWwd+Ph4A1Cuvfh5hDS9BOqWFf3ZZTd5jKfiZemOo76uaqIjjfIzt5o4NVpNsm4 +mRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=irCLOFe9aF7keBnEWgB01ck4hjtWg56vvXGjenL2riI=; b=0+oIZFn2+dP8e8kUR5FV2UBTlmLWlmZ/VFQUBEr4YggrpZAvSUpia+WFliHhHNN4/5 0mYlsw6fGDAMpxl8UgtGJWVmv1sAbTcIMM8VEkuG43p6nmeaUUuX52zx9Jv30Ep3Rr3r Pvs1kd8NjKd1XL3eS5DweEkMCUt3IZ8xPM+IwGFaP3MP6usHya40d0KxDPnMrcBZj9uu juN+6mgJMG5dZIBP6VSmHPllJj6VQc2mZrnCzQQbEdmbXp4d3j+Nnpo8dR6MuMH5LMrH MJnUHBBeLe+/bUmCaxxU7fm9lg/Ghe48xUOunCuzXwotNiQoHof1oVWp0aKVb3qHaKui dFrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=TTD6nLsG; 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 u11si70969pgv.280.2018.03.13.05.56.51; Tue, 13 Mar 2018 05:57:05 -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; dkim=fail header.i=@gmail.com header.s=20161025 header.b=TTD6nLsG; 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 S1752686AbeCMMzf (ORCPT + 99 others); Tue, 13 Mar 2018 08:55:35 -0400 Received: from mail-it0-f66.google.com ([209.85.214.66]:55045 "EHLO mail-it0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752242AbeCMMzb (ORCPT ); Tue, 13 Mar 2018 08:55:31 -0400 Received: by mail-it0-f66.google.com with SMTP id w3so235487itc.4 for ; Tue, 13 Mar 2018 05:55:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=irCLOFe9aF7keBnEWgB01ck4hjtWg56vvXGjenL2riI=; b=TTD6nLsGXsqnTPAnKsx1TzMJfKcfLPpipAHJn4VzsRRn7LTnw+TtelpjVGpnJBLPqp OigNZsF4KicXHUsk1LutAQbIxSY2skDKzqLp2K6Uo+alepq3Llh/Pqo/vbe6i819gXJU 7k5rXvJS6gLoSJ2UIZhB8hr4/RrHkLLr7Y5l36fAayzuNzWu/Q2abHBAvE9B7dozBVhA hE7iRIWH0xSpKodq4eEzH155MOcuYwOLYofZwJcStl3NVJHgutVRVDfasJi351L5q2xW 0l1pxEmo5wWZqIRj40aW18gMrLpJbCIPATnWzlQ5qPrwNjwcuJ5ZxuWa4LEtbPSvlOmG wDSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=irCLOFe9aF7keBnEWgB01ck4hjtWg56vvXGjenL2riI=; b=gmJxuBe9ZA1i+BY5Lg9Jjtw7yKNe/JssSXypPqQdA0pdaQQqV+m4/Ca3B1EeIvfN0Z dmPigAjDnflIHLdZrXnIGxQt4i7mUnda2jc0JoJwHqGtpVqIagzmxzhojRr4irylhmsz 1U+vGrE/QI/1l3An9kHA/Nm1LgfpGZii5bxWLyaSy7zzoCio93BR0lY0BA0Gvc2XEB4X CmKmHjhDrskG/FsoVRMogKZUHmLLplWqaeD9ZLqUenzkYuOq1Y6OVZ2FwewLvBm12y/2 oqhq8OujivgNcZLc/0N/b5b2Gx4RH+fhwXqAJN6JTDyXfUiSWmEzthuKwK1g9gP+WJ6t mJKQ== X-Gm-Message-State: AElRT7FCgCOI5WanG1xfsitf78ompZIDFE497G6yl50bUIqVlclDVyi0 Jc0v6usQHYs5MmCfk2C/VCVYhZEOCaexazDuNZw= X-Received: by 10.36.134.2 with SMTP id u2mr724039itd.28.1520945730021; Tue, 13 Mar 2018 05:55:30 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.34.71 with HTTP; Tue, 13 Mar 2018 05:55:29 -0700 (PDT) In-Reply-To: <152094429237.515.2412380565628307987@mail.alporthouse.com> References: <20180313120848.2658626-1-arnd@arndb.de> <152094429237.515.2412380565628307987@mail.alporthouse.com> From: Arnd Bergmann Date: Tue, 13 Mar 2018 13:55:29 +0100 X-Google-Sender-Auth: -elc5ej6xtlpcCKWu_lbtLXREIg Message-ID: Subject: Re: [PATCH] drm/i915/pmu: avoid -Wmaybe-uninitialized warning To: Chris Wilson Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie , Tvrtko Ursulin , Michal Wajdeczko , Intel Graphics , dri-devel , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 13, 2018 at 1:31 PM, Chris Wilson wrote: > Quoting Arnd Bergmann (2018-03-13 12:08:29) >> The conditional spinlock confuses gcc into thinking the 'flags' value >> might contain uninitialized data: >> >> drivers/gpu/drm/i915/i915_pmu.c: In function '__i915_pmu_event_read': >> arch/x86/include/asm/paravirt_types.h:573:3: error: 'flags' may be used uninitialized in this function [-Werror=maybe-uninitialized] >> >> The code is correct, but it's easy to see how the compiler gets confused >> here. This avoids the problem by pulling the lock outside of the function >> into its only caller. >> >> Fixes: 1fe699e30113 ("drm/i915/pmu: Fix sleep under atomic in RC6 readout") >> Signed-off-by: Arnd Bergmann >> --- >> drivers/gpu/drm/i915/i915_pmu.c | 25 ++++++++++--------------- >> 1 file changed, 10 insertions(+), 15 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c >> index 4bc7aefa9541..2c8c705d1f18 100644 >> --- a/drivers/gpu/drm/i915/i915_pmu.c >> +++ b/drivers/gpu/drm/i915/i915_pmu.c >> @@ -415,7 +415,6 @@ static u64 __get_rc6(struct drm_i915_private *i915) >> static u64 get_rc6(struct drm_i915_private *i915, bool locked) > > bool locked is now unused, right? Right, removing it now. >> - val = get_rc6(i915, locked); >> - break; >> + if (!locked) { >> + unsigned long flags; >> + >> + spin_lock_irqsave(&i915->pmu.lock, flags); >> + val = get_rc6(i915, locked); >> + spin_unlock_irqrestore(&i915->pmu.lock, flags); >> + break; >> + } else { >> + val = get_rc6(i915, locked); >> + } > > break is now on one path only; should be here. Fixed as well. I'll wait a bit for more comments before resending. Thanks for the review! Arnd