Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3079595ybt; Mon, 29 Jun 2020 14:48:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUcGnhnBKOk/iWNYgof8VvpQdhv6yoAR8A4VbJbhw2so5zUjIcOPPdTppJ3bfmN7szE3Uc X-Received: by 2002:a17:906:e299:: with SMTP id gg25mr15312732ejb.160.1593467297714; Mon, 29 Jun 2020 14:48:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593467297; cv=none; d=google.com; s=arc-20160816; b=Fav+8e/kXnHl3kJ0aS4w4zXU+67sUe+BrJEvo1qkPAyQpBqmzd3fGX9PiFIJvfj2HZ 27xwrGuekKpzY1DozXXS3gFfEo9P3phY5Lif4Ol55Ii/2Urzk5p2T0OgKRP2f1RfmALH 1H8+aEh08HVH9fCuWZf3TTOq2SswUAh74M8b5DEBYgdoDp+fXNpYMacvjcUixoSR+Rz3 IblrEDDZIRPHDzxRC/YKfGQ26LpF8ku7lUeyZc+o8nazeYKIxXoNxggT5igEN6frUwch pFh+y+hT0NzmD9wVO8Owhy12juWKWDaaZBWZNjsMk1KWgZUXOsguzA19jM6D3I3exllk lL6A== 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 :in-reply-to:references:mime-version:dkim-signature; bh=3mjyd6r9Z8NRgSnG+P9PSoNzsHa0OVoXa5dJDxRkCYk=; b=z9i4rvFjZlUdMuj+vfLgWiMLc+TNphEMKn4h8Ifkvj+WGrYAYEsj7zaGCrAcpwJMLm vtgNBvox+l55NNwrQOrlBHlU1uCuGtpXYAxY35UASWbJhRf2LJR30a4zgcm13CLIt/Wy ud5l1NjTWGYZUiKYXElNhblgM7nazxux6PGiFakW0OL/XrTUYA98BavrhS5R7KujmXTM 4e1m0trT0QZiB4u4efxMmniEHYyZrDBQpQyBokkTUR4Jpxj28diUygXNhV53WsEyAhJn pjY53hfCW5lwRUCx/8SZkfQnL1cmotCw3pFuLFmUX6eMqXmOkcv77df/4r/HQ0sMOHkl 0QCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@verdurent-com.20150623.gappssmtp.com header.s=20150623 header.b=UI0fGaRC; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w11si481133edq.29.2020.06.29.14.47.53; Mon, 29 Jun 2020 14:48:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-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=@verdurent-com.20150623.gappssmtp.com header.s=20150623 header.b=UI0fGaRC; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727840AbgF2Vqy (ORCPT + 99 others); Mon, 29 Jun 2020 17:46:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727798AbgF2Shp (ORCPT ); Mon, 29 Jun 2020 14:37:45 -0400 Received: from mail-vs1-xe43.google.com (mail-vs1-xe43.google.com [IPv6:2607:f8b0:4864:20::e43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B0E6C00F829 for ; Mon, 29 Jun 2020 05:46:51 -0700 (PDT) Received: by mail-vs1-xe43.google.com with SMTP id f24so9165813vsg.1 for ; Mon, 29 Jun 2020 05:46:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=verdurent-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3mjyd6r9Z8NRgSnG+P9PSoNzsHa0OVoXa5dJDxRkCYk=; b=UI0fGaRCmq5A6fZ2aN3n8WBb3g7VvOCURSeOI/vJzfqMe8q0IkabtA9TAG27ldXDI4 z+qW6f7rvAAhml7TWg3s6TCc3UwBj8qbwNL/MoBsGqaL93xt/lMkkNwHR7FZDnRdUe26 IJTGZwp8wFrDid5i4wCANbEQxqmks/buB/LqOLygjOkSAS569gUFnJm1iu7wSqU6J4mi WaUPsQa5oFkBDxtSoUnrhRPFtXhTMn7YFowZMtA/btLIDP7fV053z75lagCKW3U3sf9y A8ESITsuDw5aZvkzmvkyodLVZ6crbpaei0phkK3XLxRzXsByhgG8E5nSjNXa6qVAk8Nh 57xg== 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; bh=3mjyd6r9Z8NRgSnG+P9PSoNzsHa0OVoXa5dJDxRkCYk=; b=mqaJwZIoIZC1mTXDiXN7K5bdLuK3+SDW1v8k6EYkCcLqhdxLbZdCsDW7zSgsaMgkur FiPApuFb0yeIQC2tGHIAwMpJKt+QZmMYcaPYODcr6RAWMIaBzpEWD8pgwAZGZk9Jwecs 0WhdwEilFO2MHak3Y4+H9UCTg6FVE0Se3uipY4XSIfcI5qUJYQ1Z0MPLAEFQ5FVRtl52 zF2FbBj9vqd/1bDBuTfkrrkAA0WSlQr4DKbB/5whd79KP/T9HGtYER0UxBmkQp+1rT1L Uy3ONwiMQl2SdQF1SZNyhNvxuMOMJeOjtu2jA7A7HG8LhgLPVgJ47DDFUfVbgvbl2mfV kSFw== X-Gm-Message-State: AOAM5310SWTaWvmLubBQSZrHmAJdb7bNZnnmLD8Sv7ECeg8JYhUz++vR R+kKmt0n4SgoK2ycjVKQUttxm0qxLFLDcPiieEVa8g== X-Received: by 2002:a67:ea98:: with SMTP id f24mr10128329vso.159.1593434810843; Mon, 29 Jun 2020 05:46:50 -0700 (PDT) MIME-Version: 1.0 References: <20200629122925.21729-1-andrzej.p@collabora.com> <20200629122925.21729-10-andrzej.p@collabora.com> In-Reply-To: <20200629122925.21729-10-andrzej.p@collabora.com> From: Amit Kucheria Date: Mon, 29 Jun 2020 18:16:39 +0530 Message-ID: Subject: Re: [PATCH v7 09/11] thermal: core: Stop polling DISABLED thermal devices To: Andrzej Pietrasiewicz Cc: Linux PM list , linux-acpi@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, platform-driver-x86@vger.kernel.org, lakml , linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, "Rafael J . Wysocki" , Len Brown , Vishal Kulkarni , "David S . Miller" , Jiri Pirko , Ido Schimmel , Johannes Berg , Emmanuel Grumbach , Luca Coelho , Intel Linux Wireless , Kalle Valo , Peter Kaestle , Darren Hart , Andy Shevchenko , Sebastian Reichel , Miquel Raynal , Daniel Lezcano , Support Opensource , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , =?UTF-8?Q?Niklas_S=C3=B6derlund?= , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Zhang Rui , Allison Randal , Enrico Weigelt , Gayatri Kammela , Thomas Gleixner , Bartlomiej Zolnierkiewicz , kernel@collabora.com Content-Type: text/plain; charset="UTF-8" Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Mon, Jun 29, 2020 at 6:00 PM Andrzej Pietrasiewicz wrote: > > Polling DISABLED devices is not desired, as all such "disabled" devices > are meant to be handled by userspace. This patch introduces and uses > should_stop_polling() to decide whether the device should be polled or not. > > Signed-off-by: Andrzej Pietrasiewicz > Reviewed-by: Bartlomiej Zolnierkiewicz Reviewed-by: Amit Kucheria > --- > drivers/thermal/thermal_core.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c > index 52d136780577..e613f5c07bad 100644 > --- a/drivers/thermal/thermal_core.c > +++ b/drivers/thermal/thermal_core.c > @@ -301,13 +301,22 @@ static void thermal_zone_device_set_polling(struct thermal_zone_device *tz, > cancel_delayed_work(&tz->poll_queue); > } > > +static inline bool should_stop_polling(struct thermal_zone_device *tz) > +{ > + return !thermal_zone_device_is_enabled(tz); > +} > + > static void monitor_thermal_zone(struct thermal_zone_device *tz) > { > + bool stop; > + > + stop = should_stop_polling(tz); > + > mutex_lock(&tz->lock); > > - if (tz->passive) > + if (!stop && tz->passive) > thermal_zone_device_set_polling(tz, tz->passive_delay); > - else if (tz->polling_delay) > + else if (!stop && tz->polling_delay) > thermal_zone_device_set_polling(tz, tz->polling_delay); > else > thermal_zone_device_set_polling(tz, 0); > @@ -517,6 +526,9 @@ void thermal_zone_device_update(struct thermal_zone_device *tz, > { > int count; > > + if (should_stop_polling(tz)) > + return; > + > if (atomic_read(&in_suspend)) > return; > > -- > 2.17.1 >