From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71ED5C433DF for ; Fri, 29 May 2020 12:35:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4D24420721 for ; Fri, 29 May 2020 12:35:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LKp56kq3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726792AbgE2Mfe (ORCPT ); Fri, 29 May 2020 08:35:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726052AbgE2MfV (ORCPT ); Fri, 29 May 2020 08:35:21 -0400 Received: from mail-il1-x142.google.com (mail-il1-x142.google.com [IPv6:2607:f8b0:4864:20::142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF8DAC03E969 for ; Fri, 29 May 2020 05:35:20 -0700 (PDT) Received: by mail-il1-x142.google.com with SMTP id 9so2204451ilg.12 for ; Fri, 29 May 2020 05:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=QQKUqX33jKxu7xXLL4ova+QPLIPkMuSTOrsUN0PAZO0=; b=LKp56kq34nPmIiOKHnOneCDJMToOPA7EL0pXwQM+nXciQtcVkxUWRXy8WLq8jE00e2 POnOJuG8DVAAtng0S7S/Qv/gkSatXlGeptpsTCBQV0P3WtbkvecoVJQgHcrx0SVBm8P3 qEHiIQo0Ho4rVCrriGzJxCrGzM9itFljdnr11y1rf+6soTk08cZ9mG50CFDo0rck76mO K4MhjTmLdFAX+KtZUB0R8H96avchflxwDyLosfVU+RIGfgfbalHhKmPc91j128quOw6L blXNe6pItY5lY5CCu30pXpa/Ed69elCz95zelGlKb6kcbNlfrop5cm50R6ji05M1Q3DL y6VQ== 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=QQKUqX33jKxu7xXLL4ova+QPLIPkMuSTOrsUN0PAZO0=; b=URAOzQtG+WNu7lmutZSKp+Qy0HZK/6ydxOWgf0sP/qt2r2p3OpUMEFXYdaS7/dkmfn FlznNrQWZ7T6JiQuUQ6v53rC+vPVzYo14ZIbiKy8XKtI8LMLHMY1Gwk+B240SYhhmebm KP1gQQoX2CzrY+aQ8cL8k+aZ7sA9XbomNp78JIGSHNdGco0FXR4NCRWa+K4JDDum//Yj DGNmoumi7/teaca5YGj0yrkDfOAuUtDZ7oLet8Wol6sELZyI9eeliOvAXsq9TYF48cNn pajx8ySntE4AoN29mWLc/pRNC6xIHCReQp7yvEGU5y/1xeA2xhSZqXWax25rfxwoho7W 78pg== X-Gm-Message-State: AOAM532PFtmGLcTvTTtlaH0RxfmCGehNVq756IiQLZovSDL7spJQLyHt dKJWgHDYoc4SdYZgC0i2xcmcwrTreQf/NhE6mP8= X-Google-Smtp-Source: ABdhPJxsnPf7Ua0YRkxDmtaDeUWOtLqME8clmbrqOqhmFRtW14m06XVzx5wUbmg/g2x33c99GItnUdh5UwJSKkPZHrQ= X-Received: by 2002:a92:4885:: with SMTP id j5mr6542365ilg.35.1590755719955; Fri, 29 May 2020 05:35:19 -0700 (PDT) MIME-Version: 1.0 References: <20200510165538.19720-1-peron.clem@gmail.com> <20200510165538.19720-6-peron.clem@gmail.com> <788ac664-e426-d307-f81e-9632de09887c@arm.com> In-Reply-To: <788ac664-e426-d307-f81e-9632de09887c@arm.com> From: =?UTF-8?B?Q2zDqW1lbnQgUMOpcm9u?= Date: Fri, 29 May 2020 14:35:08 +0200 Message-ID: Subject: Re: [PATCH 05/15] drm/panfrost: use spinlock instead of atomic To: Robin Murphy Cc: Rob Herring , Tomeu Vizoso , Steven Price , Alyssa Rosenzweig , Viresh Kumar , Nishanth Menon , Stephen Boyd , Maxime Ripard , Chen-Yu Tsai , linux-kernel , dri-devel 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 Hi Robin, On Fri, 29 May 2020 at 14:20, Robin Murphy wrote: > > On 2020-05-10 17:55, Cl=C3=A9ment P=C3=A9ron wrote: > > Convert busy_count to a simple int protected by spinlock. > > A little more reasoning might be nice. I have follow the modification requested for lima devfreq and clearly don't have any argument to switch to spinlock. The Lima Maintainer asked to change witht the following reason : "Better make this count a normal int which is also protected by the spinloc= k, because current implementation can't protect atomic ops for state change and busy idle check and we are using spinlock already" > > > Signed-off-by: Cl=C3=A9ment P=C3=A9ron > > --- > [...] > > diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.h b/drivers/gpu/= drm/panfrost/panfrost_devfreq.h > > index 0697f8d5aa34..e6629900a618 100644 > > --- a/drivers/gpu/drm/panfrost/panfrost_devfreq.h > > +++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.h > > @@ -4,6 +4,7 @@ > > #ifndef __PANFROST_DEVFREQ_H__ > > #define __PANFROST_DEVFREQ_H__ > > > > +#include > > #include > > > > struct devfreq; > > @@ -14,10 +15,17 @@ struct panfrost_device; > > struct panfrost_devfreq { > > struct devfreq *devfreq; > > struct thermal_cooling_device *cooling; > > + > > ktime_t busy_time; > > ktime_t idle_time; > > ktime_t time_last_update; > > - atomic_t busy_count; > > + int busy_count; > > + /* > > + * Protect busy_time, idle_time, time_last_update and busy_count > > + * because these can be updated concurrently, for example by the = GP > > + * and PP interrupts. > > + */ > > Nit: this comment is clearly wrong, since we only have Job, GPU and MMU > interrupts here. I guess if there is a race it would be between > submission/completion/timeout on different job slots. It's copy/paste from lima I will update it, > > Given that, should this actually be considered a fix for 9e62b885f715 > ("drm/panfrost: Simplify devfreq utilisation tracking")? I can't say if it can be considered as a fix, I didn't see any improvement on my board before and after this patch. I'm still facing some issue and didn't have time to fully investigate it. Thanks for you review, > > Robin. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2EC7C433DF for ; Sat, 30 May 2020 09:42:29 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9D528207DF for ; Sat, 30 May 2020 09:42:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LKp56kq3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D528207DF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 304956E9C3; Sat, 30 May 2020 09:42:16 +0000 (UTC) Received: from mail-il1-x142.google.com (mail-il1-x142.google.com [IPv6:2607:f8b0:4864:20::142]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0103A89F0B for ; Fri, 29 May 2020 12:35:21 +0000 (UTC) Received: by mail-il1-x142.google.com with SMTP id p5so1148101ile.6 for ; Fri, 29 May 2020 05:35:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=QQKUqX33jKxu7xXLL4ova+QPLIPkMuSTOrsUN0PAZO0=; b=LKp56kq34nPmIiOKHnOneCDJMToOPA7EL0pXwQM+nXciQtcVkxUWRXy8WLq8jE00e2 POnOJuG8DVAAtng0S7S/Qv/gkSatXlGeptpsTCBQV0P3WtbkvecoVJQgHcrx0SVBm8P3 qEHiIQo0Ho4rVCrriGzJxCrGzM9itFljdnr11y1rf+6soTk08cZ9mG50CFDo0rck76mO K4MhjTmLdFAX+KtZUB0R8H96avchflxwDyLosfVU+RIGfgfbalHhKmPc91j128quOw6L blXNe6pItY5lY5CCu30pXpa/Ed69elCz95zelGlKb6kcbNlfrop5cm50R6ji05M1Q3DL y6VQ== 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=QQKUqX33jKxu7xXLL4ova+QPLIPkMuSTOrsUN0PAZO0=; b=bhMtUpYxAJiui0kfwroGxsYMSsdjmM8av2V93MWOLyHUzJ3oGXiNlCP8Fy5JatkUPI Q8tjmK8Ep7j0EncXFYlcE2lRRKz7EvaHFck1VDAmao4D2j8bm6ZgN6g6GRdzcixgKIzP g2h1Cucy4f8PuTCVt6W2VE2LuwTi0fZIoU246odA+vv5li89oSTasp3YMNis3YmuCHtX sjaJbqz5SlcEMn1boeJuL3dtq5wc6wkaX0Sesbe3ITu2/5ZEghuRHe691+SLrOb7eSzV ZCut1OLFQPYA/BL8Yqd8FffL4JvcC5wAhDhqlGyyxy0ryF+qJp82/lEovbHpg+rgoPNI CXCQ== X-Gm-Message-State: AOAM532T7Lvaki0Pbhhn5wmWf/mbJGXeN7n3HxUg2xyAiNYMRf+4gx8j f717m1YKlqfg24T0YE124AhxKEMPu4uIKcVGceY= X-Google-Smtp-Source: ABdhPJxsnPf7Ua0YRkxDmtaDeUWOtLqME8clmbrqOqhmFRtW14m06XVzx5wUbmg/g2x33c99GItnUdh5UwJSKkPZHrQ= X-Received: by 2002:a92:4885:: with SMTP id j5mr6542365ilg.35.1590755719955; Fri, 29 May 2020 05:35:19 -0700 (PDT) MIME-Version: 1.0 References: <20200510165538.19720-1-peron.clem@gmail.com> <20200510165538.19720-6-peron.clem@gmail.com> <788ac664-e426-d307-f81e-9632de09887c@arm.com> In-Reply-To: <788ac664-e426-d307-f81e-9632de09887c@arm.com> From: =?UTF-8?B?Q2zDqW1lbnQgUMOpcm9u?= Date: Fri, 29 May 2020 14:35:08 +0200 Message-ID: Subject: Re: [PATCH 05/15] drm/panfrost: use spinlock instead of atomic To: Robin Murphy X-Mailman-Approved-At: Sat, 30 May 2020 09:42:14 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nishanth Menon , Tomeu Vizoso , Stephen Boyd , Viresh Kumar , dri-devel , linux-kernel , Steven Price , Chen-Yu Tsai , Alyssa Rosenzweig Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgUm9iaW4sCgpPbiBGcmksIDI5IE1heSAyMDIwIGF0IDE0OjIwLCBSb2JpbiBNdXJwaHkgPHJv YmluLm11cnBoeUBhcm0uY29tPiB3cm90ZToKPgo+IE9uIDIwMjAtMDUtMTAgMTc6NTUsIENsw6lt ZW50IFDDqXJvbiB3cm90ZToKPiA+IENvbnZlcnQgYnVzeV9jb3VudCB0byBhIHNpbXBsZSBpbnQg cHJvdGVjdGVkIGJ5IHNwaW5sb2NrLgo+Cj4gQSBsaXR0bGUgbW9yZSByZWFzb25pbmcgbWlnaHQg YmUgbmljZS4KCkkgaGF2ZSBmb2xsb3cgdGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0ZWQgZm9yIGxp bWEgZGV2ZnJlcSBhbmQgY2xlYXJseQpkb24ndCBoYXZlIGFueSBhcmd1bWVudCB0byBzd2l0Y2gg dG8gc3BpbmxvY2suCgpUaGUgTGltYSBNYWludGFpbmVyIGFza2VkIHRvIGNoYW5nZSB3aXRodCB0 aGUgZm9sbG93aW5nIHJlYXNvbiA6CiJCZXR0ZXIgbWFrZSB0aGlzIGNvdW50IGEgbm9ybWFsIGlu dCB3aGljaCBpcyBhbHNvIHByb3RlY3RlZCBieSB0aGUgc3BpbmxvY2ssCmJlY2F1c2UgY3VycmVu dCBpbXBsZW1lbnRhdGlvbiBjYW4ndCBwcm90ZWN0IGF0b21pYyBvcHMgZm9yIHN0YXRlIGNoYW5n ZQphbmQgYnVzeSBpZGxlIGNoZWNrIGFuZCB3ZSBhcmUgdXNpbmcgc3BpbmxvY2sgYWxyZWFkeSIK Cj4KPiA+IFNpZ25lZC1vZmYtYnk6IENsw6ltZW50IFDDqXJvbiA8cGVyb24uY2xlbUBnbWFpbC5j b20+Cj4gPiAtLS0KPiBbLi4uXQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5m cm9zdC9wYW5mcm9zdF9kZXZmcmVxLmggYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJv c3RfZGV2ZnJlcS5oCj4gPiBpbmRleCAwNjk3ZjhkNWFhMzQuLmU2NjI5OTAwYTYxOCAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9kZXZmcmVxLmgKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9kZXZmcmVxLmgKPiA+IEBA IC00LDYgKzQsNyBAQAo+ID4gICAjaWZuZGVmIF9fUEFORlJPU1RfREVWRlJFUV9IX18KPiA+ICAg I2RlZmluZSBfX1BBTkZST1NUX0RFVkZSRVFfSF9fCj4gPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9z cGlubG9jay5oPgo+ID4gICAjaW5jbHVkZSA8bGludXgva3RpbWUuaD4KPiA+Cj4gPiAgIHN0cnVj dCBkZXZmcmVxOwo+ID4gQEAgLTE0LDEwICsxNSwxNyBAQCBzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNl Owo+ID4gICBzdHJ1Y3QgcGFuZnJvc3RfZGV2ZnJlcSB7Cj4gPiAgICAgICBzdHJ1Y3QgZGV2ZnJl cSAqZGV2ZnJlcTsKPiA+ICAgICAgIHN0cnVjdCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNlICpjb29s aW5nOwo+ID4gKwo+ID4gICAgICAga3RpbWVfdCBidXN5X3RpbWU7Cj4gPiAgICAgICBrdGltZV90 IGlkbGVfdGltZTsKPiA+ICAgICAgIGt0aW1lX3QgdGltZV9sYXN0X3VwZGF0ZTsKPiA+IC0gICAg IGF0b21pY190IGJ1c3lfY291bnQ7Cj4gPiArICAgICBpbnQgYnVzeV9jb3VudDsKPiA+ICsgICAg IC8qCj4gPiArICAgICAgKiBQcm90ZWN0IGJ1c3lfdGltZSwgaWRsZV90aW1lLCB0aW1lX2xhc3Rf dXBkYXRlIGFuZCBidXN5X2NvdW50Cj4gPiArICAgICAgKiBiZWNhdXNlIHRoZXNlIGNhbiBiZSB1 cGRhdGVkIGNvbmN1cnJlbnRseSwgZm9yIGV4YW1wbGUgYnkgdGhlIEdQCj4gPiArICAgICAgKiBh bmQgUFAgaW50ZXJydXB0cy4KPiA+ICsgICAgICAqLwo+Cj4gTml0OiB0aGlzIGNvbW1lbnQgaXMg Y2xlYXJseSB3cm9uZywgc2luY2Ugd2Ugb25seSBoYXZlIEpvYiwgR1BVIGFuZCBNTVUKPiBpbnRl cnJ1cHRzIGhlcmUuIEkgZ3Vlc3MgaWYgdGhlcmUgaXMgYSByYWNlIGl0IHdvdWxkIGJlIGJldHdl ZW4KPiBzdWJtaXNzaW9uL2NvbXBsZXRpb24vdGltZW91dCBvbiBkaWZmZXJlbnQgam9iIHNsb3Rz LgoKSXQncyBjb3B5L3Bhc3RlIGZyb20gbGltYSBJIHdpbGwgdXBkYXRlIGl0LAoKPgo+IEdpdmVu IHRoYXQsIHNob3VsZCB0aGlzIGFjdHVhbGx5IGJlIGNvbnNpZGVyZWQgYSBmaXggZm9yIDllNjJi ODg1ZjcxNQo+ICgiZHJtL3BhbmZyb3N0OiBTaW1wbGlmeSBkZXZmcmVxIHV0aWxpc2F0aW9uIHRy YWNraW5nIik/CgpJIGNhbid0IHNheSBpZiBpdCBjYW4gYmUgY29uc2lkZXJlZCBhcyBhIGZpeCwg SSBkaWRuJ3Qgc2VlIGFueQppbXByb3ZlbWVudCBvbiBteSBib2FyZCBiZWZvcmUgYW5kIGFmdGVy IHRoaXMgcGF0Y2guCkknbSBzdGlsbCBmYWNpbmcgc29tZSBpc3N1ZSBhbmQgZGlkbid0IGhhdmUg dGltZSB0byBmdWxseSBpbnZlc3RpZ2F0ZSBpdC4KClRoYW5rcyBmb3IgeW91IHJldmlldywKCgo+ Cj4gUm9iaW4uCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=