From mboxrd@z Thu Jan 1 00:00:00 1970 From: Willy Tarreau Subject: Re: [PATCH] leds: ledtrig-activity: use ktime_get_boot_ns() Date: Mon, 18 Jun 2018 20:29:13 +0200 Message-ID: <20180618182913.GA30450@1wt.eu> References: <20180618144210.72367-1-arnd@arndb.de> <20180618150715.GA30470@amd> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" To: Arnd Bergmann Cc: Kees Cook , y2038 Mailman List , Linux Kernel Mailing List , Jacek Anaszewski , Pavel Machek , linux-leds@vger.kernel.org List-Id: linux-leds@vger.kernel.org SGkgQXJuZCwKCk9uIE1vbiwgSnVuIDE4LCAyMDE4IGF0IDA1OjQ3OjI4UE0gKzAyMDAsIEFybmQg QmVyZ21hbm4gd3JvdGU6Cj4gT24gTW9uLCBKdW4gMTgsIDIwMTggYXQgNTowNyBQTSwgUGF2ZWwg TWFjaGVrIDxwYXZlbEB1Y3cuY3o+IHdyb3RlOgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2xl ZHMvdHJpZ2dlci9sZWR0cmlnLWFjdGl2aXR5LmMgYi9kcml2ZXJzL2xlZHMvdHJpZ2dlci9sZWR0 cmlnLWFjdGl2aXR5LmMKPiA+PiBpbmRleCA1MDgxODk0MDgyYmQuLjU4OWMxYmM0ZDBiOSAxMDA2 NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2xlZHMvdHJpZ2dlci9sZWR0cmlnLWFjdGl2aXR5LmMKPiA+ PiArKysgYi9kcml2ZXJzL2xlZHMvdHJpZ2dlci9sZWR0cmlnLWFjdGl2aXR5LmMKPiA+PiBAQCAt MzcsNyArMzcsNiBAQCBzdGF0aWMgdm9pZCBsZWRfYWN0aXZpdHlfZnVuY3Rpb24oc3RydWN0IHRp bWVyX2xpc3QgKnQpCj4gPj4gICAgICAgc3RydWN0IGFjdGl2aXR5X2RhdGEgKmFjdGl2aXR5X2Rh dGEgPSBmcm9tX3RpbWVyKGFjdGl2aXR5X2RhdGEsIHQsCj4gPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyKTsKPiA+PiAgICAgICBz dHJ1Y3QgbGVkX2NsYXNzZGV2ICpsZWRfY2RldiA9IGFjdGl2aXR5X2RhdGEtPmxlZF9jZGV2Owo+ ID4+IC0gICAgIHN0cnVjdCB0aW1lc3BlYyBib290X3RpbWU7Cj4gPj4gICAgICAgdW5zaWduZWQg aW50IHRhcmdldDsKPiA+PiAgICAgICB1bnNpZ25lZCBpbnQgdXNhZ2U7Cj4gPj4gICAgICAgaW50 IGRlbGF5Owo+ID4+IEBAIC01Nyw3ICs1Niw3IEBAIHN0YXRpYyB2b2lkIGxlZF9hY3Rpdml0eV9m dW5jdGlvbihzdHJ1Y3QgdGltZXJfbGlzdCAqdCkKPiA+PiAgICAgICAgICAgICAgIHJldHVybjsK PiA+PiAgICAgICB9Cj4gPj4KPiA+PiAtICAgICBnZXRfbW9ub3RvbmljX2Jvb3R0aW1lKCZib290 X3RpbWUpOwo+ID4+ICsgICAgIGN1cnJfYm9vdCA9IGt0aW1lX2dldF9ib290X25zKCk7Cj4gPj4K PiA+PiAgICAgICBjcHVzID0gMDsKPiA+PiAgICAgICBjdXJyX3VzZWQgPSAwOwo+ID4+IEBAIC03 Niw3ICs3NSw2IEBAIHN0YXRpYyB2b2lkIGxlZF9hY3Rpdml0eV9mdW5jdGlvbihzdHJ1Y3QgdGlt ZXJfbGlzdCAqdCkKPiA+PiAgICAgICAgKiBkb3duIHRvIDE2dXMsIGVuc3VyaW5nIHdlIHdvbid0 IG92ZXJmbG93IDMyLWJpdCBjb21wdXRhdGlvbnMgYmVsb3cKPiA+PiAgICAgICAgKiBldmVuIHVw IHRvIDNrIENQVXMsIHdoaWxlIGtlZXBpbmcgZGl2aWRlcyBjaGVhcCBvbiBzbWFsbGVyIHN5c3Rl bXMuCj4gPj4gICAgICAgICovCj4gPj4gLSAgICAgY3Vycl9ib290ID0gdGltZXNwZWNfdG9fbnMo JmJvb3RfdGltZSkgKiBjcHVzOwo+ID4KPiA+IE9yaWdpbmFsIGNvZGUgaXMgcHJldHR5IHdlaXJk IChub3RpY2UgdGhlICogY3B1cyksIHNvIEknbQo+ID4gZG91YmxlLWNoZWNraW5nLgo+IAo+IE9r LCBkcm9wcGluZyB0aGUgKmNwdXMgd2FzIG5vdCBpbnRlbnRpb25hbCwgSSdsbCByZXBvc3QgYSB2 ZXJzaW9uIHRoYXQgcHV0cwo+IGl0IHRoYXQgYmFjay4gVGhhbmtzIGZvciBwb2ludGluZyB0aGlz IG91dCEKClBhdmVsIGlzIHJpZ2h0LCB0aGUgKmNwdXMgaXMgaW50ZW50aW9uYWwuIGN1cnJfYm9v dCBjb250YWlucyB0aGUgY3VtdWxhdGVkCnRpbWUgZm9yIGFsbCBDUFVzIGluIG9yZGVyIHRvIG1l YXN1cmUgYW4gYXZlcmFnZSB1c2FnZSBvdmVyIGFsbCBvZiB0aGVtLgpCeSBrZWVwaW5nIGl0IHNj YWxlZCBieSAjY3B1cyB3ZSBhdm9pZCB1c2VsZXNzIGRpdmlkZXMuCgpDaGVlcnMsCldpbGx5Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClkyMDM4IG1haWxp bmcgbGlzdApZMjAzOEBsaXN0cy5saW5hcm8ub3JnCmh0dHBzOi8vbGlzdHMubGluYXJvLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3kyMDM4Cg== 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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,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 20023C433EF for ; Mon, 18 Jun 2018 18:29:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D1A322083D for ; Mon, 18 Jun 2018 18:29:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D1A322083D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=1wt.eu Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935920AbeFRS3Y (ORCPT ); Mon, 18 Jun 2018 14:29:24 -0400 Received: from wtarreau.pck.nerim.net ([62.212.114.60]:64322 "EHLO 1wt.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935300AbeFRS3W (ORCPT ); Mon, 18 Jun 2018 14:29:22 -0400 Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id w5IITDj7030462; Mon, 18 Jun 2018 20:29:13 +0200 Date: Mon, 18 Jun 2018 20:29:13 +0200 From: Willy Tarreau To: Arnd Bergmann Cc: Pavel Machek , Jacek Anaszewski , y2038 Mailman List , Kees Cook , linux-leds@vger.kernel.org, Linux Kernel Mailing List Subject: Re: [PATCH] leds: ledtrig-activity: use ktime_get_boot_ns() Message-ID: <20180618182913.GA30450@1wt.eu> References: <20180618144210.72367-1-arnd@arndb.de> <20180618150715.GA30470@amd> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, On Mon, Jun 18, 2018 at 05:47:28PM +0200, Arnd Bergmann wrote: > On Mon, Jun 18, 2018 at 5:07 PM, Pavel Machek wrote: > >> diff --git a/drivers/leds/trigger/ledtrig-activity.c b/drivers/leds/trigger/ledtrig-activity.c > >> index 5081894082bd..589c1bc4d0b9 100644 > >> --- a/drivers/leds/trigger/ledtrig-activity.c > >> +++ b/drivers/leds/trigger/ledtrig-activity.c > >> @@ -37,7 +37,6 @@ static void led_activity_function(struct timer_list *t) > >> struct activity_data *activity_data = from_timer(activity_data, t, > >> timer); > >> struct led_classdev *led_cdev = activity_data->led_cdev; > >> - struct timespec boot_time; > >> unsigned int target; > >> unsigned int usage; > >> int delay; > >> @@ -57,7 +56,7 @@ static void led_activity_function(struct timer_list *t) > >> return; > >> } > >> > >> - get_monotonic_boottime(&boot_time); > >> + curr_boot = ktime_get_boot_ns(); > >> > >> cpus = 0; > >> curr_used = 0; > >> @@ -76,7 +75,6 @@ static void led_activity_function(struct timer_list *t) > >> * down to 16us, ensuring we won't overflow 32-bit computations below > >> * even up to 3k CPUs, while keeping divides cheap on smaller systems. > >> */ > >> - curr_boot = timespec_to_ns(&boot_time) * cpus; > > > > Original code is pretty weird (notice the * cpus), so I'm > > double-checking. > > Ok, dropping the *cpus was not intentional, I'll repost a version that puts > it that back. Thanks for pointing this out! Pavel is right, the *cpus is intentional. curr_boot contains the cumulated time for all CPUs in order to measure an average usage over all of them. By keeping it scaled by #cpus we avoid useless divides. Cheers, Willy