Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp3954169imw; Mon, 18 Jul 2022 18:18:45 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sELbAOXyeyyAXM0i6s4i9sZQ2De2b4h00+ZQbzE6e4dA2CHmklcM7GtiXI8VFcyglzrmAV X-Received: by 2002:aa7:d5d7:0:b0:43a:6eda:464a with SMTP id d23-20020aa7d5d7000000b0043a6eda464amr40866680eds.193.1658193525029; Mon, 18 Jul 2022 18:18:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658193525; cv=none; d=google.com; s=arc-20160816; b=P+R1B6Gk35EIxAbk46Ms9W7ZaaOfTbfuOEt848oMbAyNCUW/1innM5PZHeBaf3wcQ2 zULCY1e1rO+wvyuJIh8rH1Ssstdtz67tVCIcSdb/k4Zmf69FS/swXhvhHb9B1QupJCOu Y1/KrereWCbZ77JTblPE365M9IueA0LNOtouOpU9doEFv7QOx+/y7uI/o7EVD53H9Bdk rYcPaisWpQdhl54DpMKUmdZBN9/kvVswqyYfNdkuDRQxHTisPxlvTHd2P9/frjR8u/SU E3O3tslsWc5RK+1rJCzhIs5JnG5O/ZiYfIyGQbX7oEifCwAtUfByA9tk6AqkjNStCejN KvIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=vRLzmrrgm4kudf5+Ad7ww1gLuHUCo1/2XwRDw73KWgg=; b=xTjDdX231oBSCs2TxOpduzL4+Awdv9WJyBtilcixavHYOMx6phAT5gZ1nNEgzMZtOS 6i3/AjRlwSZ0823LtOapvcu5Mlf3Dbu4qV9ZHmldAIExmK4r7HRZ/6FMO/Zl/Rk9SH51 CmK6RaTCGEc4bqEpqGG1Km0Lj/+czA44eAWzYrAxgGPfqOHtECXn0HU/1SGyi/+RlCkq tsrmf81hOiDPFihu/A4aYW+6iVEarImWhwQ0Nzh3t3vXBRY/m1M/QkezEV6S/pxtZfAM vyXgiAviEgTiya+Mn6b/EC4MwZKmuVg6K1LYkConysD2GMyYdYj0WnDZuE4i1HEe3Pym 7Rhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KCZSY2Qb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ji3-20020a170907980300b007262ad8839esi12409719ejc.16.2022.07.18.18.18.20; Mon, 18 Jul 2022 18:18:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KCZSY2Qb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236528AbiGSBO7 (ORCPT + 99 others); Mon, 18 Jul 2022 21:14:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229700AbiGSBO6 (ORCPT ); Mon, 18 Jul 2022 21:14:58 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 99C1033E35; Mon, 18 Jul 2022 18:14:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658193297; x=1689729297; h=message-id:subject:from:to:cc:date:in-reply-to: references:content-transfer-encoding:mime-version; bh=vRLzmrrgm4kudf5+Ad7ww1gLuHUCo1/2XwRDw73KWgg=; b=KCZSY2Qb3s1uVc9mAeRyf/CKtFwzC7E70g1q1zIZEseIiHZ+EIGmOYWr wPfwF35GMPhN6a/Zmnvf/u+80FVs6Ia4T9reWyxh2oVQtkO1x6VLZzbjJ oqyBUdFV7xnCwjptt4b54CCwSfIAuF85OC6+R96lPWDEi3FMTvtYFVV9C 4LSVNGw9++shZ9sSiyACVNGp0qZJ5xzJoN8KamK3dZ9w9n7oDK+HaUgtZ YUp0f8hvUOXMmaYf+dKeFqv1new/dUJH9DSw4087wU9NNVbBA+vTPfYS4 HSGgbsXd3D72m0j579K2+XKFd33cIEX6yCo44UDcgm2UcRIFelcACXaK2 Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10412"; a="372662843" X-IronPort-AV: E=Sophos;i="5.92,282,1650956400"; d="scan'208";a="372662843" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2022 18:14:57 -0700 X-IronPort-AV: E=Sophos;i="5.92,282,1650956400"; d="scan'208";a="739673156" Received: from dukechan-mobl.gar.corp.intel.com ([10.215.250.179]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2022 18:14:54 -0700 Message-ID: <7ee301b76beb679f89e946dfb5921a2d853bd8dc.camel@intel.com> Subject: Re: [PATCH v3 3/4] thermal/core: Build ascending ordered indexes for the trip points From: Zhang Rui To: Daniel Lezcano , rafael@kernel.org Cc: quic_manafm@quicinc.com, amitk@kernel.org, lukasz.luba@arm.com, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Date: Tue, 19 Jul 2022 09:14:55 +0800 In-Reply-To: <04bd27a8-5148-c8eb-5687-83ef511618df@linaro.org> References: <20220715210911.714479-1-daniel.lezcano@linaro.org> <20220715210911.714479-3-daniel.lezcano@linaro.org> <6d08939a167870ff7c1c83bb254fda5939f1d648.camel@intel.com> <04bd27a8-5148-c8eb-5687-83ef511618df@linaro.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.1-0ubuntu1 MIME-Version: 1.0 X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2022-07-18 at 15:21 +0200, Daniel Lezcano wrote: >=20 > Hi Zhang, >=20 > thanks for the review >=20 > On 18/07/2022 07:28, Zhang Rui wrote: > > On Fri, 2022-07-15 at 23:09 +0200, Daniel Lezcano wrote: >=20 > [ ... ] >=20 > > > Instead of taking the risk of breaking the existing platforms, > > > use an > > > array of temperature ordered trip identifiers and make it > > > available > > > for the code needing to browse the trip points in an ordered way. > > >=20 > > > Signed-off-by: Daniel Lezcano > > > --- >=20 > [ ... ] >=20 > > > +static void sort_trips_indexes(struct thermal_zone_device *tz) > > > +{ > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0int i, j; > > > + > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0for (i =3D 0; i < tz->trip= s; i++) > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0tz->trips_indexes[i] =3D i; > > > + > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0for (i =3D 0; i < tz->trip= s; i++) { > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0for (j =3D i + 1; j < tz->trips; j++) { > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0int= t1, t2; > > > + > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0tz-= >ops->get_trip_temp(tz, tz- > > > > trips_indexes[i], &t1); > >=20 > > This line can be moved to the upper loop. >=20 > Right, thanks! >=20 > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0tz-= >ops->get_trip_temp(tz, tz- > > > > trips_indexes[j], &t2); > > > + > >=20 > > what about the disabled trip points? > >=20 > > we should ignore those trip points and check the return value to > > make > > sure we're comparing the valid trip_temp values. >=20 > We don't have to care about, whatever the position, the corresponding > trip id will be disabled by the trip init function before calling > this=20 > one and ignored in the handle_thermal_trip() function hah, I missed this one and replied to your latest reply directly. The thing I'm concerning is that=C2=A0if we don't check the return value, for a disabled trip point, the trip_temp (t1/t2) returned is some random value, it all depends on the previous value set by last successful .get_trip_temp(), and this may screw up the sorting. thanks, rui >=20 >=20