From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=220.128.79.91; helo=mx02.quantatw.com; envelope-from=prvs=983ff241d=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx02.quantatw.com (mx02.quantatw.com [220.128.79.91]) by lists.ozlabs.org (Postfix) with ESMTP id 44VMG24lRqzDqNg for ; Thu, 28 Mar 2019 21:54:55 +1100 (AEDT) Received: from unknown (HELO mailbx05.quanta.corp) ([10.243.91.100]) by mx02.quantatw.com with ESMTP; 28 Mar 2019 18:54:52 +0800 Received: from mailbx05.quanta.corp (10.243.91.100) by mailbx05.quanta.corp (10.243.91.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 28 Mar 2019 18:54:51 +0800 Received: from mailbx05.quanta.corp ([fe80::34d4:593b:40f8:a9bc]) by mailbx05.quanta.corp ([fe80::34d4:593b:40f8:a9bc%4]) with mapi id 15.01.1713.004; Thu, 28 Mar 2019 18:54:51 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: "openbmc@lists.ozlabs.org" Subject: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHU5Sj9loI9dbbDpkixezz7G113kw== Date: Thu, 28 Mar 2019 10:54:51 +0000 Message-ID: <1f94cb30fe624740b2ad67438b643266@quantatw.com> Accept-Language: en-US, zh-TW Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: multipart/alternative; boundary="_000_1f94cb30fe624740b2ad67438b643266quantatwcom_" MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Mar 2019 10:55:07 -0000 --_000_1f94cb30fe624740b2ad67438b643266quantatwcom_ Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 SGkgQWxsLA0KDQoNClRoaXMgaXNzdWUgaXMgcmVsYXRlZCB0byB0aGUgcmVwb3NpdG9yeSBwaG9z cGhvci1waWQtY29udHJvbDxodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQt Y29udHJvbD4uDQoNCg0KSXQgaXMgaW4gY29tbWl0IGRidXNwYXNzaXZlOiBhbGxvdyBzY2FsaW5n PGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC1jb250cm9sL2NvbW1pdC83 NWViNzY5ZDM1MTQzNDU0Nzg5OTE4NmY3M2ZmNzBhZTAwZDc5MzRhPiB0aGF0IG9uZSBhZGRlZCBz Y2FsaW5nIG1lY2hhbmlzbS4gSG93ZXZlciB3aGVuIGl0IGNvbWVzIHRvIHBpZC5jcHA8aHR0cHM6 Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLWNvbnRyb2wvYmxvYi9tYXN0ZXIvcGlk L2VjL3BpZC5jcHA+LCBpdCBtYXkgZW5jb3VudGVyIHNjYWxpbmcgbWlzbWF0Y2guIFRoYXQgaXMg dG8gc2F5LCAoaW4gZmFuIGNvbnRyb2wgc3RhZ2UpIHRoZSBwaWQgdGFrZXMgdGhlIHNjYWxlZCB2 YWx1ZXMgYXMgaW5wdXRzLCBidXQgaXQgdXRpbGl6ZXMgdW5zY2FsZWQgc2V0cG9pbnRzIHJlc3Vs dGluZyB3cm9uZyBlcnJvciB0ZXJtcy4gT3IganVzdCBjaGFuZ2UgdGhlIHNldHBvaW50IHZhbHVl Pw0KDQoNClRoYW5rcywNCg0KDQpIYW5rIExpb3UNCg0KUXVhbnRhIENvbXB1dGVyIEluYy4NCg== --_000_1f94cb30fe624740b2ad67438b643266quantatwcom_ Content-Type: text/html; charset="big5" Content-Transfer-Encoding: quoted-printable

Hi All,


This issue is related to the repository phosphor-pid-control.


It is in commit dbuspassive: allow scaling that one added scaling m= echanism. However when it comes to pid.cpp, it may encounter scaling mismatch. That is to say, (in fan con= trol stage) the pid takes the scaled values as inputs, but it utilizes= unscaled setpoints resulting wrong error terms. Or just ch= ange the setpoint value?


Thanks,


Hank Liou

Quanta Computer Inc.

--_000_1f94cb30fe624740b2ad67438b643266quantatwcom_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::633; helo=mail-pl1-x633.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="L0UWYVa6"; dkim-atps=neutral Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 44VS6X4GqczDqQw for ; Fri, 29 Mar 2019 01:33:55 +1100 (AEDT) Received: by mail-pl1-x633.google.com with SMTP id y5so5041728plk.8 for ; Thu, 28 Mar 2019 07:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=OSBlzAjWqJ5lMGwUYLpJ9uY8KWAQqs3vPY03yX3So/8=; b=L0UWYVa6ROpaC0jpNM9l36EMmMdNRuDgR5dR/oc62/CmZGPnTLZLqZgUh/gB8OXROx j0VBD0wOSjhUWK9AWWgU1cl64gWL84RfgWutMjb73zQgLQEWZa8DndXF/qEX0hxldi1k giawJVfT/Q37IGvko3WKqSFBiUifs223z6Hiy3GaaBx2/moRaGTZVlJU7QaF0afxeCb0 7eus3Gwh8k22T/kHHmGARqe7BCq4PiW/ybkYyVTwujQHm01NgXcEYroGkiSq+gDiOgQw +jW7wri0PXRqNBErVnsG34N6g9AEhM7ioY8kScasKeAlQVkZU3U/DEaydI6Ar7nDaFtI f07w== 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=OSBlzAjWqJ5lMGwUYLpJ9uY8KWAQqs3vPY03yX3So/8=; b=d04bYN5+JAc5n1DjIqB53NQcXJHoPq0Jh5/3o53uVFiicskNNVQl/vQJDCt/knp/Af T0G2w7GkNlnvfk4r2PTx88uW31+mpaqmkDd33/ZHAsGjLp4yGC5mwtPsLRMNvRg6j72h ORkI22VUh3k61UjBH0gqoRagRlM3f3kAT08ltSm1O6wVJdPJxKSwvsn+NlJvHki6/pIK x6fSnLErw/h2g94sg1n7wZ7mmG1kfVmxPCf3tMq1CrgmcstDIWFSiuAXy0OhF7fHVE8p C9iZ/0clh3xjVSuEmnmwGLdB0RN0alTcB9cA6+KDsO+eNdE2fYfqQn2I1+uzAbqpHu6c TQUg== X-Gm-Message-State: APjAAAXD2GD2o9aiI19Q1z5shhy2HkFpKZcpcBr6x7nyOTNh2lBQaOzE Caa0s6bBcvgfkCewzDR+y6Lhj5D5QTIQN4pJWkLADdeIHxw= X-Google-Smtp-Source: APXvYqyUQLgh3+mWoYWXCHqFkph9pAxsuU+vmx/evCEtcizrglZMmdrjjWROZaDOVHnRej6HF46DXlMjbPokX/ky1k8= X-Received: by 2002:a17:902:864b:: with SMTP id y11mr12404791plt.1.1553783631664; Thu, 28 Mar 2019 07:33:51 -0700 (PDT) MIME-Version: 1.0 References: <1f94cb30fe624740b2ad67438b643266@quantatw.com> In-Reply-To: <1f94cb30fe624740b2ad67438b643266@quantatw.com> From: Patrick Venture Date: Thu, 28 Mar 2019 07:33:40 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Mar 2019 14:33:57 -0000 On Thu, Mar 28, 2019 at 3:55 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi All, > > > This issue is related to the repository phosphor-pid-control. > > > It is in commit dbuspassive: allow scaling that one added scaling mechani= sm. However when it comes to pid.cpp, it may encounter scaling mismatch. Th= at is to say, (in fan control stage) the pid takes the scaled values as inp= uts, but it utilizes unscaled setpoints resulting wrong error terms. Or jus= t change the setpoint value? Can you share your configuration? That might simplify the conversation. > > > Thanks, > > > Hank Liou > > Quanta Computer Inc. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=220.128.79.91; helo=mx02.quantatw.com; envelope-from=prvs=984c66f94=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx02.quantatw.com (mx02.quantatw.com [220.128.79.91]) by lists.ozlabs.org (Postfix) with ESMTP id 44Vljt10p2zDqGW for ; Fri, 29 Mar 2019 13:17:01 +1100 (AEDT) Received: from unknown (HELO mailbx06.quanta.corp) ([10.243.91.101]) by mx02.quantatw.com with ESMTP; 29 Mar 2019 10:16:59 +0800 Received: from mailbx05.quanta.corp (10.243.91.100) by mailbx06.quanta.corp (10.243.91.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 29 Mar 2019 10:16:57 +0800 Received: from mailbx05.quanta.corp ([fe80::34d4:593b:40f8:a9bc]) by mailbx05.quanta.corp ([fe80::34d4:593b:40f8:a9bc%4]) with mapi id 15.01.1713.004; Fri, 29 Mar 2019 10:16:57 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: Patrick Venture CC: "openbmc@lists.ozlabs.org" , =?big5?B?RnJhbiBIc3UgKK59u3jBvik=?= Subject: Re: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHU5Sj9loI9dbbDpkixezz7G113k6YglgoAgAFDXeo= Date: Fri, 29 Mar 2019 02:16:57 +0000 Message-ID: References: <1f94cb30fe624740b2ad67438b643266@quantatw.com>, In-Reply-To: Accept-Language: en-US, zh-TW Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] x-tm-as-product-ver: SMEX-12.0.0.1727-8.200.1013-24516.007 x-tm-as-result: No--19.983500-0.000000-31 x-tm-as-matchedid: 90-140026-150567-111600-111604-300151-705718-701827-70263 8-111605-700074-700264-700732-700345-700450-706065-703674-704341-704156-702 169-188057-700802-188134-700724-106660-705861-111608-188062-700079-700075-7 11953-105040-700994-703788-707395-711900-702807-710615-703283-701236-702020 -707788-709364-700107-863519-188092-148004-148054-22561-42000-63 x-tm-as-user-approved-sender: Yes x-tm-as-user-blocked-sender: No Content-Type: multipart/alternative; boundary="_000_c2d3e4dee25a4c76803c6fec8b99dce4quantatwcom_" MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Mar 2019 02:17:07 -0000 --_000_c2d3e4dee25a4c76803c6fec8b99dce4quantatwcom_ Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 SGkgUGF0cmljaywNCg0KDQp7DQogICAgInNlbnNvcnMiIDogWw0KICAgICAgICB7DQogICAgICAg ICAgICAibmFtZSI6ICJmYW4xIiwNCiAgICAgICAgICAgICJ0eXBlIjogImZhbiIsDQogICAgICAg ICAgICAicmVhZFBhdGgiOiAiL3h5ei9vcGVuYm1jX3Byb2plY3Qvc2Vuc29ycy9mYW5fdGFjaC9m YW4xIiwNCiAgICAgICAgICAgICJ3cml0ZVBhdGgiOiAiL3N5cy9kZXZpY2VzL3BsYXRmb3JtL2Fo Yi9haGI6YXBiLzFlNzg2MDAwLnB3bS10YWNoby1jb250cm9sbGVyL2h3bW9uLyoqL3B3bTEiLA0K ICAgICAgICAgICAgIm1pbiI6IDAsDQogICAgICAgICAgICAibWF4IjogMjU1DQogICAgICAgIH0s DQogICAgICAgIHsNCiAgICAgICAgICAgICJuYW1lIjogInRlbXAxIiwNCiAgICAgICAgICAgICJ0 eXBlIjogInRlbXAiLA0KICAgICAgICAgICAgInJlYWRQYXRoIjogIi94eXovb3BlbmJtY19wcm9q ZWN0L3NlbnNvcnMvdGVtcGVyYXR1cmUvdGVtcDEiLA0KICAgICAgICAgICAgIndyaXRlUGF0aCI6 ICIiLA0KICAgICAgICAgICAgIm1pbiI6IDAsDQogICAgICAgICAgICAibWF4IjogMA0KICAgICAg ICB9DQogICAgXSwNCiAgICAiem9uZXMiIDogWw0KICAgICAgICB7DQogICAgICAgICAgICAiaWQi OiAxLA0KICAgICAgICAgICAgIm1pblRoZXJtYWxPdXRwdXQiOiAzMDAwLjAsDQogICAgICAgICAg ICAiZmFpbHNhZmVQZXJjZW50IjogNzUuMCwNCiAgICAgICAgICAgICJwaWRzIjogWw0KICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZmFuMSIsDQogICAgICAg ICAgICAgICAgICAgICJ0eXBlIjogImZhbiIsDQogICAgICAgICAgICAgICAgICAgICJpbnB1dHMi OiBbImZhbjEiXSwNCiAgICAgICAgICAgICAgICAgICAgInNldHBvaW50IjogOTAuMCwNCiAgICAg ICAgICAgICAgICAgICAgInBpZCI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzYW1wbGVQ ZXJpb2QiOiAwLjEsDQogICAgICAgICAgICAgICAgICAgICAgICAicHJvcG9ydGlvbmFsQ29lZmYi OiAtMS4wLA0KICAgICAgICAgICAgICAgICAgICAgICAgImludGVncmFsQ29lZmYiOiAtMC4yLA0K ICAgICAgICAgICAgICAgICAgICAgICAgImZlZWRGd2RPZmZzZXRDb2VmZiI6IDAuMCwNCiAgICAg ICAgICAgICAgICAgICAgICAgICJmZWVkRndkR2FpbkNvZWZmIjogMC4wMTAsDQogICAgICAgICAg ICAgICAgICAgICAgICAiaW50ZWdyYWxMaW1pdF9taW4iOiAwLjAsDQogICAgICAgICAgICAgICAg ICAgICAgICAiaW50ZWdyYWxMaW1pdF9tYXgiOiAwLjAsDQogICAgICAgICAgICAgICAgICAgICAg ICAib3V0TGltX21pbiI6IDMwLjAsDQogICAgICAgICAgICAgICAgICAgICAgICAib3V0TGltX21h eCI6IDEwMC4wLA0KICAgICAgICAgICAgICAgICAgICAgICAgInNsZXdOZWciOiAwLjAsDQogICAg ICAgICAgICAgICAgICAgICAgICAic2xld1BvcyI6IDAuMA0KICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICJuYW1lIjogInRlbXAxIiwNCiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidGVtcCIs DQogICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbInRlbXAxIl0sDQogICAgICAgICAgICAg ICAgICAgICJzZXRwb2ludCI6IDUwLjAsDQogICAgICAgICAgICAgICAgICAgICJwaWQiOiB7DQog ICAgICAgICAgICAgICAgICAgICAgICAic2FtcGxlUGVyaW9kIjogMC4xLA0KICAgICAgICAgICAg ICAgICAgICAgICAgInByb3BvcnRpb25hbENvZWZmIjogLTEuMCwNCiAgICAgICAgICAgICAgICAg ICAgICAgICJpbnRlZ3JhbENvZWZmIjogLTAuMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJm ZWVkRndkT2Zmc2V0Q29lZmYiOiAwLjAsDQogICAgICAgICAgICAgICAgICAgICAgICAiZmVlZEZ3 ZEdhaW5Db2VmZiI6IDAuMDEwLA0KICAgICAgICAgICAgICAgICAgICAgICAgImludGVncmFsTGlt aXRfbWluIjogMC4wLA0KICAgICAgICAgICAgICAgICAgICAgICAgImludGVncmFsTGltaXRfbWF4 IjogMC4wLA0KICAgICAgICAgICAgICAgICAgICAgICAgIm91dExpbV9taW4iOiA1MDAuMCwNCiAg ICAgICAgICAgICAgICAgICAgICAgICJvdXRMaW1fbWF4IjogMTUwMC4wLA0KICAgICAgICAgICAg ICAgICAgICAgICAgInNsZXdOZWciOiAwLjAsDQogICAgICAgICAgICAgICAgICAgICAgICAic2xl d1BvcyI6IDAuMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgXQ0KICAgICAgICB9DQogICAgXQ0KfQ0KDQoNClNpbmNlcmVseSwNCg0KDQpIYW5r IExpb3UNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IFBhdHJpY2sg VmVudHVyZSA8dmVudHVyZUBnb29nbGUuY29tPg0KU2VudDogVGh1cnNkYXksIE1hcmNoIDI4LCAy MDE5IDEwOjMzIFBNDQpUbzogSGFuayBMaW91ICi8Qq7Kv6spDQpDYzogb3BlbmJtY0BsaXN0cy5v emxhYnMub3JnDQpTdWJqZWN0OiBSZTogW3Bob3NwaG9yLXBpZC1jb250cm9sXSBzY2FsaW5nIGlz c3VlDQoNCk9uIFRodSwgTWFyIDI4LCAyMDE5IGF0IDM6NTUgQU0gSGFuayBMaW91ICi8Qq7Kv6sp IDxIYW5rLkxpb3VAcXVhbnRhdHcuY29tPiB3cm90ZToNCj4NCj4gSGkgQWxsLA0KPg0KPg0KPiBU aGlzIGlzc3VlIGlzIHJlbGF0ZWQgdG8gdGhlIHJlcG9zaXRvcnkgcGhvc3Bob3ItcGlkLWNvbnRy b2wuDQo+DQo+DQo+IEl0IGlzIGluIGNvbW1pdCBkYnVzcGFzc2l2ZTogYWxsb3cgc2NhbGluZyB0 aGF0IG9uZSBhZGRlZCBzY2FsaW5nIG1lY2hhbmlzbS4gSG93ZXZlciB3aGVuIGl0IGNvbWVzIHRv IHBpZC5jcHAsIGl0IG1heSBlbmNvdW50ZXIgc2NhbGluZyBtaXNtYXRjaC4gVGhhdCBpcyB0byBz YXksIChpbiBmYW4gY29udHJvbCBzdGFnZSkgdGhlIHBpZCB0YWtlcyB0aGUgc2NhbGVkIHZhbHVl cyBhcyBpbnB1dHMsIGJ1dCBpdCB1dGlsaXplcyB1bnNjYWxlZCBzZXRwb2ludHMgcmVzdWx0aW5n IHdyb25nIGVycm9yIHRlcm1zLiBPciBqdXN0IGNoYW5nZSB0aGUgc2V0cG9pbnQgdmFsdWU/DQoN CkNhbiB5b3Ugc2hhcmUgeW91ciBjb25maWd1cmF0aW9uPyAgVGhhdCBtaWdodCBzaW1wbGlmeSB0 aGUgY29udmVyc2F0aW9uLg0KDQo+DQo+DQo+IFRoYW5rcywNCj4NCj4NCj4gSGFuayBMaW91DQo+ DQo+IFF1YW50YSBDb21wdXRlciBJbmMuDQo= --_000_c2d3e4dee25a4c76803c6fec8b99dce4quantatwcom_ Content-Type: text/html; charset="big5" Content-Transfer-Encoding: quoted-printable

Hi Patrick,


{
    "sensors" : [
        {
            "na= me": "fan1",
            "ty= pe": "fan",
            "re= adPath": "/xyz/openbmc_project/sensors/fan_tach/fan1",
            "wr= itePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-c= ontroller/hwmon/**/pwm1",
            "mi= n": 0,
            "ma= x": 255
        },
        {
            "na= me": "temp1",
            "ty= pe": "temp",
            "re= adPath": "/xyz/openbmc_project/sensors/temperature/temp1",             "wr= itePath": "",
            "mi= n": 0,
            "ma= x": 0
        }
    ],
    "zones" : [
        {
            "id= ": 1,
            "mi= nThermalOutput": 3000.0,
            "fa= ilsafePercent": 75.0,
            "pi= ds": [
            &nb= sp;   {
            &nb= sp;       "name": "fan1",=
            &nb= sp;       "type": "fan",<= br>             &nb= sp;       "inputs": ["fan1&quo= t;],
            &nb= sp;       "setpoint": 90.0,
            &nb= sp;       "pid": {
            &nb= sp;           "sampl= ePeriod": 0.1,
            &nb= sp;           "propo= rtionalCoeff": -1.0,
            &nb= sp;           "integ= ralCoeff": -0.2,
            &nb= sp;           "feedF= wdOffsetCoeff": 0.0,
            &nb= sp;           "feedF= wdGainCoeff": 0.010,
            &nb= sp;           "integ= ralLimit_min": 0.0,
            &nb= sp;           "integ= ralLimit_max": 0.0,
            &nb= sp;           "outLi= m_min": 30.0,
            &nb= sp;           "outLi= m_max": 100.0,
            &nb= sp;           "slewN= eg": 0.0,
            &nb= sp;           "slewP= os": 0.0
            &nb= sp;       }
            &nb= sp;   },
            &nb= sp;   {
            &nb= sp;       "name": "temp1"= ,
            &nb= sp;       "type": "temp",=
            &nb= sp;       "inputs": ["temp1&qu= ot;],
            &nb= sp;       "setpoint": 50.0, &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ; 
            &nb= sp;       "pid": {   = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;        
            &nb= sp;           "sampl= ePeriod": 0.1,         &n= bsp;            = ;            &n= bsp;            = ;           
            &nb= sp;           "propo= rtionalCoeff": -1.0,        &n= bsp;            = ;            &n= bsp;            = ;       
            &nb= sp;           "integ= ralCoeff": -0.2,         =             &nb= sp;     
            &nb= sp;           "feedF= wdOffsetCoeff": 0.0,
            &nb= sp;           "feedF= wdGainCoeff": 0.010,          &n= bsp;           
            &nb= sp;           "integ= ralLimit_min": 0.0,        &nb= sp;            =   
            &nb= sp;           "integ= ralLimit_max": 0.0,        &nb= sp;            =   
            &nb= sp;           "outLi= m_min": 500.0,         &n= bsp;            = ;      
            &nb= sp;           "outLi= m_max": 1500.0,         &= nbsp;           &nbs= p;     
            &nb= sp;           "slewN= eg": 0.0,           =
            &nb= sp;           "slewP= os": 0.0
            &nb= sp;       }     &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;       
            &nb= sp;   }
            ] &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p; 
        }     &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p; 
    ]         &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p; 
}            &n= bsp;            = ;            &n= bsp;            = ;  

Sincerely,


Hank Liou



From: Patrick Venture <= ;venture@google.com>
Sent: Thursday, March 28, 2019 10:33 PM
To: Hank Liou (=BCB=AE=CA=BF=AB)
Cc: openbmc@lists.ozlabs.org
Subject: Re: [phosphor-pid-control] scaling issue
 
On Thu, Mar 28, 2019 at 3:55 AM Hank Liou (=BCB=AE= =CA=BF=AB) <Hank.Liou@quantatw.com> wrote:
>
> Hi All,
>
>
> This issue is related to the repository phosphor-pid-control.
>
>
> It is in commit dbuspassive: allow scaling that one added scaling mech= anism. However when it comes to pid.cpp, it may encounter scaling mismatch.= That is to say, (in fan control stage) the pid takes the scaled values as = inputs, but it utilizes unscaled setpoints resulting wrong error terms. Or just change the setpoint value?

Can you share your configuration?  That might simplify the conversatio= n.

>
>
> Thanks,
>
>
> Hank Liou
>
> Quanta Computer Inc.
--_000_c2d3e4dee25a4c76803c6fec8b99dce4quantatwcom_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::629; helo=mail-pl1-x629.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="LUFzVUKr"; dkim-atps=neutral Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 44W59F1QCwzDqZF for ; Sat, 30 Mar 2019 02:23:28 +1100 (AEDT) Received: by mail-pl1-x629.google.com with SMTP id b11so1186727plr.7 for ; Fri, 29 Mar 2019 08:23:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=LcAzDzz4L8mEYar44BauySW9byaHz7yXmnZChJ86UVI=; b=LUFzVUKr5kgpsRBbU0K3QeG1Wt6Vncbj3NqNjorDBzUQNYxn7+Os+8ztaAPabTCKER Qy/xFCrgabGXk7N36OqaZ7tK+PpgOIEIg3kQEx+aRfydc7C2nG0iQwY8rDl8MhWql0Ks 7q7ZeIZTgwndVafBCT6v0TtEimWOIF3+xEFPGtDd6F1VyPfJBplfLgvkGsW/dULQ0YQv he5qfEhC7e8eNXDUoSsoWynU6HN/Cu23chvyqz2H/BXbSawnV0o+5yEdnknk7BowlleB reQNgwwXBU3fQBFdLkqxLooZKLzu1hmUr5V1PiuVJCUxqhffKuNLsAOZsFpDTEfK0FMZ M0bg== 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=LcAzDzz4L8mEYar44BauySW9byaHz7yXmnZChJ86UVI=; b=VTUwlbGpvyA+kjS/ey2DSG+pVCk+SBeAmcfdsucVPnqJdadYUfC7GHK4cjiV0QvuBN deWj6DGXkC44AMFTuFZSerzCih9coEq0gu497b0rlkdoUhkw8Alg37UI852ugwOpv/7o kaSd8uZnHx8tOxzt8FRZDva/W5Soz2C6HzppPFnn/Z9KTRI1QlZW4n200IL9xFylxedo AJhdaiN0vMsBpcQp0XxwtMbpndeJJsRQUFeeud2bE7bpiMGdLvE/HoXvyginK+kERrQp X6SkWIOM7yiEhS1LQg7kPtsG4glgPTNg+x41lM/GlwXbRuguJ95vIs0ZhIQd7HUeT2eE NmUg== X-Gm-Message-State: APjAAAVc7hcl3LnLIIUNEzhCQiZb7x+Q9NASoZjlNVLVsY2I/w57rRtI sexKt9zgZurH2L6wik9yIWJ09uhLnnXLn9RF9f4rb2kYW4c= X-Google-Smtp-Source: APXvYqyZglUQaq34cL5Qa2RiQXKMjSNTvlimyCe+K5xtWfTKw6LTTMzO62Z94un6+OJMregdv8/9X4YKk/HnRZU0MsY= X-Received: by 2002:a17:902:e701:: with SMTP id co1mr49748730plb.61.1553873005685; Fri, 29 Mar 2019 08:23:25 -0700 (PDT) MIME-Version: 1.0 References: <1f94cb30fe624740b2ad67438b643266@quantatw.com> In-Reply-To: From: Patrick Venture Date: Fri, 29 Mar 2019 08:23:14 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: "openbmc@lists.ozlabs.org" , =?UTF-8?B?RnJhbiBIc3UgKOW+kOiqjOismSk=?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Mar 2019 15:23:30 -0000 On Thu, Mar 28, 2019 at 7:17 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi Patrick, > > > { > "sensors" : [ > { > "name": "fan1", > "type": "fan", > "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1", > "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-= tacho-controller/hwmon/**/pwm1", > "min": 0, > "max": 255 > }, > { > "name": "temp1", > "type": "temp", > "readPath": "/xyz/openbmc_project/sensors/temperature/temp1", > "writePath": "", > "min": 0, > "max": 0 > } > ], > "zones" : [ > { > "id": 1, > "minThermalOutput": 3000.0, ^--- the minimum thermal output is higher than the maximum output for the temperature PID loop. > "failsafePercent": 75.0, > "pids": [ > { > "name": "fan1", > "type": "fan", > "inputs": ["fan1"], > "setpoint": 90.0, > "pid": { > "samplePeriod": 0.1, > "proportionalCoeff": -1.0, > "integralCoeff": -0.2, ^--- you're setting the integral and proportional and the feedfwd. feedfwd works separately if I understand PID loops properly > "feedFwdOffsetCoeff": 0.0, > "feedFwdGainCoeff": 0.010, > "integralLimit_min": 0.0, > "integralLimit_max": 0.0, > "outLim_min": 30.0, ^--- this is setting the minimum to 30% > "outLim_max": 100.0, ^--- this is setting the maximum to 30% > "slewNeg": 0.0, > "slewPos": 0.0 > } > }, > { > "name": "temp1", > "type": "temp", > "inputs": ["temp1"], > "setpoint": 50.0, ^ --- this sets the goal temperature to be lower than or equal to 50. 50 of whatever temperature unit provided. The value should be scaled properly to be 50.000 by the code. > "pid": { > "samplePeriod": 0.1, ^-- so the mechanism for the PID loop only samples these at once per second > "proportionalCoeff": -1.0, > "integralCoeff": -0.2, > "feedFwdOffsetCoeff": 0.0, > "feedFwdGainCoeff": 0.010, > "integralLimit_min": 0.0, > "integralLimit_max": 0.0, > "outLim_min": 500.0, ^--- this is setting the output minimum to 500rpm > "outLim_max": 1500.0, ^--- this is setting the maximum to 1500rpm. > "slewNeg": 0.0, > "slewPos": 0.0 > } > } > ] > } > ] > } I don't see any scaling issues given this configuration. Because you're not building from dbus configuration, but rather json. Given the numbers here, I would expect some wonky behavior -- however, that just means we need more detailed documentation. By the way, please don't top-post to email messages. Inline replies are easier to follow and the community standard. > > Sincerely, > > > Hank Liou > > > ________________________________ > From: Patrick Venture > Sent: Thursday, March 28, 2019 10:33 PM > To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > Cc: openbmc@lists.ozlabs.org > Subject: Re: [phosphor-pid-control] scaling issue > > On Thu, Mar 28, 2019 at 3:55 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) <= Hank.Liou@quantatw.com> wrote: > > > > Hi All, > > > > > > This issue is related to the repository phosphor-pid-control. > > > > > > It is in commit dbuspassive: allow scaling that one added scaling mecha= nism. However when it comes to pid.cpp, it may encounter scaling mismatch. = That is to say, (in fan control stage) the pid takes the scaled values as i= nputs, but it utilizes unscaled setpoints resulting wrong error terms. Or j= ust change the setpoint value? > > Can you share your configuration? That might simplify the conversation. > > > > > > > Thanks, > > > > > > Hank Liou > > > > Quanta Computer Inc. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=219.87.191.90; helo=mx01.quantatw.com; envelope-from=prvs=129f09e87=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx01.quantatw.com (mx01.quantatw.com [219.87.191.90]) by lists.ozlabs.org (Postfix) with ESMTP id 46D0j82x7fzDqsJ for ; Wed, 21 Aug 2019 18:10:47 +1000 (AEST) Received: from unknown (HELO mailbx09.quanta.corp) ([10.243.91.106]) by mx01.quantatw.com with ESMTP; 21 Aug 2019 16:10:43 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx09.quanta.corp (10.243.91.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 21 Aug 2019 16:10:43 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Wed, 21 Aug 2019 16:10:43 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: "openbmc@lists.ozlabs.org" Subject: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0Ug== Date: Wed, 21 Aug 2019 08:10:43 +0000 Message-ID: Accept-Language: en-US, zh-TW Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: multipart/alternative; boundary="_000_ce541dfc04cd4b879648c214efc74635quantatwcom_" MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Aug 2019 08:10:53 -0000 --_000_ce541dfc04cd4b879648c214efc74635quantatwcom_ Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 SGkgQWxsLA0KDQoNCkFmdGVyIGNvbW1pdCBbMV0sIEkgZm91bmQgbXkgdGVtcCBzZW5zb3IgcmVh ZGluZyB3b3VsZCBiZSByZS1zY2FsZWQgYnkgbXVsdGlwbHlpbmcgMSBvdmVyIDI1NSwgbWFraW5n IHRlbXBlcmF0dXJlIGludG8gdW5mYW1pbGlhciB1bml0LiBBbHNvIHRoZSBmYW4gcnBtIHJlYWRp bmcgd291bGQgbGllIGluIFswLDFdIGludGVydmFsLCBsZXR0aW5nIHRoZSBmYW4gaW5wdXQgdG8g YmUgMCAoc2luY2UgdGhlIGlucHV0IHZhbHVlIG9mIGZhbiBpcyBmcm9tIGFuIGludGVnZXIgYXJy YXkgWzJdKS4gQXJlIHRoZXNlIG5vcm1hbCBiZWhhdmlvcnM/IE9yIGRvIEkgbWlzcyBzb21ldGhp bmc/DQoNCg0KWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC1jb250 cm9sL2NvbW1pdC9mYzJlODAzZjVkOTI1Njk0NGUxOGM3Yzg3OGE0NDE2MDZiMWYxMjFjDQoNClsy XSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQtY29udHJvbC9ibG9iL2E3 ZWM4MzUwZDE3YjcwMTUzY2ViZTY2NmQzZmJlODhiZGRkMDJhMWEvcGlkL2ZhbmNvbnRyb2xsZXIu Y3BwI0w4Ng0KDQoNClRoYW5rcywNCg0KDQpIYW5rIExpb3UNCg0KUXVhbnRhIENvbXB1dGVyIElu Yy4NCg0K --_000_ce541dfc04cd4b879648c214efc74635quantatwcom_ Content-Type: text/html; charset="big5" Content-Transfer-Encoding: quoted-printable

Hi All,


After commit [1], I found my temp sensor reading would be re-scaled by m= ultiplying 1 over 255, making temperature into unfamiliar unit. Also t= he fan rpm reading would lie in [0,1] interval, letting the fan input to be= 0 (since the input value of fan is from an integer array [2]). Are these normal behaviors? Or do I miss something?=


[1] https://github.= com/openbmc/phosphor-pid-control/commit/fc2e803f5d9256944e18c7c878a441606b1= f121c

[2] https://github.= com/openbmc/phosphor-pid-control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02= a1a/pid/fancontroller.cpp#L86


Thanks,


Hank Liou

Quanta Computer Inc.


--_000_ce541dfc04cd4b879648c214efc74635quantatwcom_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::52b; helo=mail-pg1-x52b.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="gNBJZn0q"; dkim-atps=neutral Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46D99T0PLKzDqg7 for ; Thu, 22 Aug 2019 00:32:27 +1000 (AEST) Received: by mail-pg1-x52b.google.com with SMTP id i18so1408444pgl.11 for ; Wed, 21 Aug 2019 07:32:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=o6DB7pAkCUwFIso39Rf3hqxTTSfj8/a9OCvEMZgVbE4=; b=gNBJZn0qh4P6tk+1Alr71w5/yH9O2lmtFN5tIoHUEh5T8+xZ5W1RXfve8oSMHJWhG2 WvNVVu4DiHrC/wZPBnrZSkMl/TsflgxjSxf4wnaeuGVblKCblJ1y0MXNHlvp4iBuivAO yoaRgO7j0rhBJsAxvkfIhRDbieSm3KokMHU6r5pFXTw5dms42gsm9i9G+NXRqUOPUgi/ EhJmEA3xuu9Rt2qeHytn3JsaB7etJzPTnV6ed4nS9ERa/00v1sSqHfCtDa5q+ERxy9Za XJnr9O8g9nbRsIUzlXc/xnSFpi5D0RULZ3zBhao4X9OMlUoEaILM7/V2u6gUtmC4NGEL vGpQ== 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=o6DB7pAkCUwFIso39Rf3hqxTTSfj8/a9OCvEMZgVbE4=; b=PwFwvQCeEOnD4EzpKricXH5yK0Ia15SB/JW4u4z1htwYxO49su6EK/jE3s482XKEPb hP5iUPczA7j2L5mx3bPBxRV9NRHuapn9hbT5zGHsrZr9xS1LjE61eT/XjyBkI8N1DPse W6voc3TAJaUun4fvy1nQKmS6Jja98i7bPjX8DwrDazfw17Al0eTVDz+kZjOHQGYO+519 l2qMTUB2VWb9+uTTr0LKBfQEEU2ZWjXYYJxvY3LSZcWIcOmz+59ZqQP/Zml8s3icC7ji gcwbn2jqu594Qs4fDUAe50EkldMCaOFcU/amZy4zOK4nIh+4IyzScdZLhvt+ItkdmIN1 HW4w== X-Gm-Message-State: APjAAAV2yutCzt30IQiwHfdCP5AJcIs3byT8al4JmSsf5jAIYPRcIh51 aLUHvXsDV+Y3kAENuP4Vpa5nBIXGSfc8xrMWlr8YLg== X-Google-Smtp-Source: APXvYqx7FqPdIfTOGcvyplDdefAELhUihoW8Q46/7R0KoMHc/xs8BCTXfDfZF0pLs0TS1EqcUE44z2FvsO6SmS4vz+c= X-Received: by 2002:aa7:914e:: with SMTP id 14mr35910628pfi.136.1566397944149; Wed, 21 Aug 2019 07:32:24 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Patrick Venture Date: Wed, 21 Aug 2019 07:32:12 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= , James Feist Cc: "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Aug 2019 14:32:30 -0000 On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi All, > > > After commit [1], I found my temp sensor reading would be re-scaled by mu= ltiplying 1 over 255, making temperature into unfamiliar unit. Also the fan= rpm reading would lie in [0,1] interval, letting the fan input to be 0 (si= nce the input value of fan is from an integer array [2]). Are these normal = behaviors? Or do I miss something? Are you using dbus configuration or json? If json, can you attach your config. Since you're saying it was working and now isn't, I'm assuming there's something about the config being treated differently with the code changes in an unexpected way. > > > [1] https://github.com/openbmc/phosphor-pid-control/commit/fc2e803f5d9256= 944e18c7c878a441606b1f121c > > [2] https://github.com/openbmc/phosphor-pid-control/blob/a7ec8350d17b7015= 3cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > > > Thanks, > > > Hank Liou > > Quanta Computer Inc. > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=220.128.79.91; helo=mx02.quantatw.com; envelope-from=prvs=131ce2f92=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com X-Greylist: delayed 71 seconds by postgrey-1.36 at bilbo; Fri, 23 Aug 2019 18:31:48 AEST Received: from mx02.quantatw.com (mx02.quantatw.com [220.128.79.91]) by lists.ozlabs.org (Postfix) with ESMTP id 46FF4N66pfzDrgw for ; Fri, 23 Aug 2019 18:31:47 +1000 (AEST) Received: from unknown (HELO mailbx05.quanta.corp) ([10.243.91.100]) by mx02.quantatw.com with ESMTP; 23 Aug 2019 16:30:33 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx05.quanta.corp (10.243.91.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 23 Aug 2019 16:30:32 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Fri, 23 Aug 2019 16:30:32 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: Patrick Venture , James Feist CC: "openbmc@lists.ozlabs.org" Subject: RE: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0UqcFJGgAgAE9VwA= Date: Fri, 23 Aug 2019 08:30:32 +0000 Message-ID: <369926533c3e448c9d1a0d28391fd688@quantatw.com> References: In-Reply-To: Accept-Language: en-US, zh-TW Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Aug 2019 08:31:51 -0000 SGkgUGF0cmljaywNCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogUGF0cmlj ayBWZW50dXJlIFttYWlsdG86dmVudHVyZUBnb29nbGUuY29tXQ0KPlNlbnQ6IFdlZG5lc2RheSwg QXVndXN0IDIxLCAyMDE5IDEwOjMyIFBNDQo+VG86IEhhbmsgTGlvdSAovEKuyr+rKSA8SGFuay5M aW91QHF1YW50YXR3LmNvbT47IEphbWVzIEZlaXN0DQo+PGphbWVzLmZlaXN0QGxpbnV4LmludGVs LmNvbT4NCj5DYzogb3BlbmJtY0BsaXN0cy5vemxhYnMub3JnDQo+U3ViamVjdDogUmU6IFtwaG9z cGhvci1waWQtY29udHJvbF0gc2NhbGluZyBpc3N1ZQ0KPg0KPk9uIFdlZCwgQXVnIDIxLCAyMDE5 IGF0IDE6MTEgQU0gSGFuayBMaW91ICi8Qq7Kv6spDQo+PEhhbmsuTGlvdUBxdWFudGF0dy5jb20+ IHdyb3RlOg0KPj4NCj4+IEhpIEFsbCwNCj4+DQo+Pg0KPj4gQWZ0ZXIgY29tbWl0IFsxXSwgSSBm b3VuZCBteSB0ZW1wIHNlbnNvciByZWFkaW5nIHdvdWxkIGJlIHJlLXNjYWxlZCBieQ0KPm11bHRp cGx5aW5nIDEgb3ZlciAyNTUsIG1ha2luZyB0ZW1wZXJhdHVyZSBpbnRvIHVuZmFtaWxpYXIgdW5p dC4gQWxzbyB0aGUgZmFuDQo+cnBtIHJlYWRpbmcgd291bGQgbGllIGluIFswLDFdIGludGVydmFs LCBsZXR0aW5nIHRoZSBmYW4gaW5wdXQgdG8gYmUgMCAoc2luY2UgdGhlDQo+aW5wdXQgdmFsdWUg b2YgZmFuIGlzIGZyb20gYW4gaW50ZWdlciBhcnJheSBbMl0pLiBBcmUgdGhlc2Ugbm9ybWFsIGJl aGF2aW9ycz8NCj5PciBkbyBJIG1pc3Mgc29tZXRoaW5nPw0KPg0KPkFyZSB5b3UgdXNpbmcgZGJ1 cyBjb25maWd1cmF0aW9uIG9yIGpzb24/ICBJZiBqc29uLCBjYW4geW91IGF0dGFjaCB5b3VyIGNv bmZpZy4NCj5TaW5jZSB5b3UncmUgc2F5aW5nIGl0IHdhcyB3b3JraW5nIGFuZCBub3cgaXNuJ3Qs IEknbSBhc3N1bWluZyB0aGVyZSdzDQo+c29tZXRoaW5nIGFib3V0IHRoZSBjb25maWcgYmVpbmcg dHJlYXRlZCBkaWZmZXJlbnRseSB3aXRoIHRoZSBjb2RlIGNoYW5nZXMgaW4NCj5hbiB1bmV4cGVj dGVkIHdheS4NCg0KSSBmb3VuZCBwaWQgY29udHJvbCB3aWxsIGZpcnN0IHJlYWQgbWluIGFuZCBt YXggZnJvbSBkYnVzIGFuZCB0aGVuIChiZWZvcmUgY29tbWl0IFsxXSkgcmV2aXNlIHRoZW0gaWYg DQoNCmluZm8tPm1pbiAhPSBjb25mOjppbmhlcml0VmFsdWVGcm9tRGJ1cyAoaW4gZGJ1cy9kYnVz cGFzc2l2ZS5jcHApDQoNCkFmdGVyIHZhbHVlIGluaXRpYWxpemF0aW9uLCB0aGUgbWluIGFuZCBt YXggd291bGQgYmUgdGhlIG9uZXMgaW4ganNvbiBmaWxlIChKc29uIGZpbGUgWzNdKS4gSG93ZXZl ciwgYWZ0ZXIgY29tbWl0IFsxXSB0aGUgbWluIGFuZCBtYXggdmFsdWVzIG9mIGNvbmZpZyB3b3Vs ZCBub3QgYmUgZmVkIGludG8gdGhlIGZhbiBjb250cm9sIHByb2Nlc3MuIFRoZSBzY2FsaW5nIGlz c3VlIGlzIG9yaWdpbmF0ZWQgZnJvbSBjb21taXQgWzRdIHdpdGggdGhlIGFpbSB0byB0cmVhdCBm YW4gcnBtIGFzIHBlcmNlbnRhZ2UuIEl0IHNlZW1zIHRoYXQgY29tbWl0IFsxXSB1bmV4cGVjdGVk bHkgYWZmZWN0cyB0ZW1wIHNlbnNvcnMgaW4gdGhlIHNlbnNlIHRoYXQgdGhlIHRlbXAgaXMgdGhl IGludGVnZXIgcmVhZGluZyBub3QgcGVyY2VudGFnZS4gQmVmb3JlIGNvbW1pdCBbMV0sIGl0IHdv dWxkIG5vdCByZS1zY2FsZSB0aGUgdGVtcCByZWFkaW5nIHNpbmNlIG15IG1pbiBhbmQgbWF4IGFy ZSAwIFs2XS4NCg0KDQoNClRoZXJlIGlzIGFub3RoZXIgaXNzdWUgd2l0aCBjb21taXQgWzFdLiBO b3cgdGhlIGZhbiBycG0gd291bGQgYmUgc29tZXRoaW5nIGxpa2UNCg0KMTUwMCAvIDIwMDAwID0g MC4wNzUNCg0Kd2hlcmUgcnBtIG1heCAyMDAwMCBpcyBmcm9tIGRidXMuIEhvd2V2ZXIgdGhlIGZh biBpbnB1dCBmdW5jdGlvbiB3b3VsZCB0cmFuc2ZlciBkb3VibGUgaW50byBpbnQsIHdoaWNoIGlz IDAgZm9yIDAuMDc1IChzZWUgWzVdKS4gSGVuY2UgdGhlIGZhbiBpbnB1dCBpcyAwIG5vdCBwZXJj ZW50YWdlLiBJcyB0aGVyZSBzb21ldGhpbmcgd3Jvbmc/DQoNClsxXSBodHRwczovL2dpdGh1Yi5j b20vb3BlbmJtYy9waG9zcGhvci1waWQtY29udHJvbC9jb21taXQvZmMyZTgwM2Y1ZDkyNTY5NDRl MThjN2M4NzhhNDQxNjA2YjFmMTIxYw0KWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bo b3NwaG9yLXBpZC1jb250cm9sL2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2ZDNmYmU4OGJk ZGQwMmExYS9waWQvZmFuY29udHJvbGxlci5jcHAjTDg2DQpbM10NCiAgICAgICB7DQogICAgICAg ICAgICAibmFtZSI6ICJmYW4xIiwNCiAgICAgICAgICAgICJ0eXBlIjogImZhbiIsDQogICAgICAg ICAgICAicmVhZFBhdGgiOiAiL3N5cy9jbGFzcy9od21vbi9od21vbjEvZmFuMV9pbnB1dCIsDQog ICAgICAgICAgICAid3JpdGVQYXRoIjogIi9zeXMvY2xhc3MvaHdtb24vaHdtb24xL3B3bTEiLA0K ICAgICAgICAgICAgIm1pbiI6IDAsDQogICAgICAgICAgICAibWF4IjogMjU1DQogICAgICAgIH0s DQogICAgICAgIHsNCiAgICAgICAgICAgICJuYW1lIjogInRlbXAxIiwNCiAgICAgICAgICAgICJ0 eXBlIjogInRlbXAiLA0KICAgICAgICAgICAgInJlYWRQYXRoIjogIi94eXovb3BlbmJtY19wcm9q ZWN0L3NlbnNvcnMvdGVtcGVyYXR1cmUvdGVtcDEiLA0KICAgICAgICAgICAgIndyaXRlUGF0aCI6 ICIiLA0KICAgICAgICAgICAgIm1pbiI6IDAsDQogICAgICAgICAgICAibWF4IjogMA0KICAgICAg ICB9DQpbNF0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLWNvbnRyb2wv Y29tbWl0Lzc1ZWI3NjlkMzUxNDM0NTQ3ODk5MTg2ZjczZmY3MGFlMDBkNzkzNGENCls1XSBodHRw czovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQtY29udHJvbC9ibG9iL2E3ZWM4MzUw ZDE3YjcwMTUzY2ViZTY2NmQzZmJlODhiZGRkMDJhMWEvcGlkL2ZhbmNvbnRyb2xsZXIuY3BwI0w2 NA0KWzZdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC1jb250cm9sL2Js b2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2ZDNmYmU4OGJkZGQwMmExYS9kYnVzL2RidXNwYXNz aXZlLmNwcCNMMTU4DQoNCj4NCj4+DQo+Pg0KPj4gWzFdDQo+PiBodHRwczovL2dpdGh1Yi5jb20v b3BlbmJtYy9waG9zcGhvci1waWQtDQo+Y29udHJvbC9jb21taXQvZmMyZTgwM2Y1ZDkyNTY5DQo+ PiA0NGUxOGM3Yzg3OGE0NDE2MDZiMWYxMjFjDQo+Pg0KPj4gWzJdDQo+PiBodHRwczovL2dpdGh1 Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQtDQo+Y29udHJvbC9ibG9iL2E3ZWM4MzUwZDE3Yjcw MTUzDQo+PiBjZWJlNjY2ZDNmYmU4OGJkZGQwMmExYS9waWQvZmFuY29udHJvbGxlci5jcHAjTDg2 DQo+Pg0KPj4NCj4+IFRoYW5rcywNCj4+DQo+Pg0KPj4gSGFuayBMaW91DQo+Pg0KPj4gUXVhbnRh IENvbXB1dGVyIEluYy4NCj4+DQo+Pg0KDQpTaW5jZXJlbHksDQpIYW5rDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=219.87.191.90; helo=mx01.quantatw.com; envelope-from=prvs=137e156a3=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx01.quantatw.com (mx01.quantatw.com [219.87.191.90]) by lists.ozlabs.org (Postfix) with ESMTP id 46JsQt3lk1zDqHk for ; Thu, 29 Aug 2019 16:00:17 +1000 (AEST) Received: from unknown (HELO mailbx05.quanta.corp) ([10.243.91.100]) by mx01.quantatw.com with ESMTP; 29 Aug 2019 14:00:13 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx05.quanta.corp (10.243.91.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 29 Aug 2019 14:00:12 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Thu, 29 Aug 2019 14:00:12 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: Patrick Venture , James Feist CC: "openbmc@lists.ozlabs.org" Subject: RE: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0UqcFJGgAgAE9VwCAC0qVsA== Date: Thu, 29 Aug 2019 06:00:12 +0000 Message-ID: References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> In-Reply-To: <369926533c3e448c9d1a0d28391fd688@quantatw.com> Accept-Language: en-US, zh-TW Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 06:00:23 -0000 SGkgUGF0cmljaywNCg0KSSB0aGluayBpdCdzIE9LIHRvIHBhcnNlIHRoZSBjb25maWcgbWluJm1h eCBmb3IgdGVtcCBzZW5zb3JzLg0KDQpBbnkgc3VnZ2VzdGlvbj8NCg0KVGhhbmtzLA0KSGFuaw0K DQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBvcGVuYm1jIFttYWlsdG86b3Bl bmJtYy0NCj5ib3VuY2VzK2hhbmsubGlvdT1xdWFudGF0dy5jb21AbGlzdHMub3psYWJzLm9yZ10g T24gQmVoYWxmIE9mIEhhbmsgTGlvdQ0KPii8Qq7Kv6spDQo+U2VudDogRnJpZGF5LCBBdWd1c3Qg MjMsIDIwMTkgNDozMSBQTQ0KPlRvOiBQYXRyaWNrIFZlbnR1cmUgPHZlbnR1cmVAZ29vZ2xlLmNv bT47IEphbWVzIEZlaXN0DQo+PGphbWVzLmZlaXN0QGxpbnV4LmludGVsLmNvbT4NCj5DYzogb3Bl bmJtY0BsaXN0cy5vemxhYnMub3JnDQo+U3ViamVjdDogUkU6IFtwaG9zcGhvci1waWQtY29udHJv bF0gc2NhbGluZyBpc3N1ZQ0KPg0KPkhpIFBhdHJpY2ssDQo+DQo+Pi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+PkZyb206IFBhdHJpY2sgVmVudHVyZSBbbWFpbHRvOnZlbnR1cmVAZ29vZ2xl LmNvbV0NCj4+U2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMjEsIDIwMTkgMTA6MzIgUE0NCj4+VG86 IEhhbmsgTGlvdSAovEKuyr+rKSA8SGFuay5MaW91QHF1YW50YXR3LmNvbT47IEphbWVzIEZlaXN0 DQo+PjxqYW1lcy5mZWlzdEBsaW51eC5pbnRlbC5jb20+DQo+PkNjOiBvcGVuYm1jQGxpc3RzLm96 bGFicy5vcmcNCj4+U3ViamVjdDogUmU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGluZyBp c3N1ZQ0KPj4NCj4+T24gV2VkLCBBdWcgMjEsIDIwMTkgYXQgMToxMSBBTSBIYW5rIExpb3UgKLxC rsq/qykNCj4+PEhhbmsuTGlvdUBxdWFudGF0dy5jb20+IHdyb3RlOg0KPj4+DQo+Pj4gSGkgQWxs LA0KPj4+DQo+Pj4NCj4+PiBBZnRlciBjb21taXQgWzFdLCBJIGZvdW5kIG15IHRlbXAgc2Vuc29y IHJlYWRpbmcgd291bGQgYmUgcmUtc2NhbGVkDQo+Pj4gYnkNCj4+bXVsdGlwbHlpbmcgMSBvdmVy IDI1NSwgbWFraW5nIHRlbXBlcmF0dXJlIGludG8gdW5mYW1pbGlhciB1bml0LiBBbHNvDQo+PnRo ZSBmYW4gcnBtIHJlYWRpbmcgd291bGQgbGllIGluIFswLDFdIGludGVydmFsLCBsZXR0aW5nIHRo ZSBmYW4gaW5wdXQNCj4+dG8gYmUgMCAoc2luY2UgdGhlIGlucHV0IHZhbHVlIG9mIGZhbiBpcyBm cm9tIGFuIGludGVnZXIgYXJyYXkgWzJdKS4gQXJlIHRoZXNlDQo+bm9ybWFsIGJlaGF2aW9ycz8N Cj4+T3IgZG8gSSBtaXNzIHNvbWV0aGluZz8NCj4+DQo+PkFyZSB5b3UgdXNpbmcgZGJ1cyBjb25m aWd1cmF0aW9uIG9yIGpzb24/ICBJZiBqc29uLCBjYW4geW91IGF0dGFjaCB5b3VyIGNvbmZpZy4N Cj4+U2luY2UgeW91J3JlIHNheWluZyBpdCB3YXMgd29ya2luZyBhbmQgbm93IGlzbid0LCBJJ20g YXNzdW1pbmcgdGhlcmUncw0KPj5zb21ldGhpbmcgYWJvdXQgdGhlIGNvbmZpZyBiZWluZyB0cmVh dGVkIGRpZmZlcmVudGx5IHdpdGggdGhlIGNvZGUNCj4+Y2hhbmdlcyBpbiBhbiB1bmV4cGVjdGVk IHdheS4NCj4NCj5JIGZvdW5kIHBpZCBjb250cm9sIHdpbGwgZmlyc3QgcmVhZCBtaW4gYW5kIG1h eCBmcm9tIGRidXMgYW5kIHRoZW4gKGJlZm9yZQ0KPmNvbW1pdCBbMV0pIHJldmlzZSB0aGVtIGlm DQo+DQo+aW5mby0+bWluICE9IGNvbmY6OmluaGVyaXRWYWx1ZUZyb21EYnVzIChpbiBkYnVzL2Ri dXNwYXNzaXZlLmNwcCkNCj4NCj5BZnRlciB2YWx1ZSBpbml0aWFsaXphdGlvbiwgdGhlIG1pbiBh bmQgbWF4IHdvdWxkIGJlIHRoZSBvbmVzIGluIGpzb24gZmlsZSAoSnNvbg0KPmZpbGUgWzNdKS4g SG93ZXZlciwgYWZ0ZXIgY29tbWl0IFsxXSB0aGUgbWluIGFuZCBtYXggdmFsdWVzIG9mIGNvbmZp ZyB3b3VsZA0KPm5vdCBiZSBmZWQgaW50byB0aGUgZmFuIGNvbnRyb2wgcHJvY2Vzcy4gVGhlIHNj YWxpbmcgaXNzdWUgaXMgb3JpZ2luYXRlZCBmcm9tDQo+Y29tbWl0IFs0XSB3aXRoIHRoZSBhaW0g dG8gdHJlYXQgZmFuIHJwbSBhcyBwZXJjZW50YWdlLiBJdCBzZWVtcyB0aGF0IGNvbW1pdA0KPlsx XSB1bmV4cGVjdGVkbHkgYWZmZWN0cyB0ZW1wIHNlbnNvcnMgaW4gdGhlIHNlbnNlIHRoYXQgdGhl IHRlbXAgaXMgdGhlDQo+aW50ZWdlciByZWFkaW5nIG5vdCBwZXJjZW50YWdlLiBCZWZvcmUgY29t bWl0IFsxXSwgaXQgd291bGQgbm90IHJlLXNjYWxlIHRoZQ0KPnRlbXAgcmVhZGluZyBzaW5jZSBt eSBtaW4gYW5kIG1heCBhcmUgMCBbNl0uDQo+DQo+DQo+DQo+VGhlcmUgaXMgYW5vdGhlciBpc3N1 ZSB3aXRoIGNvbW1pdCBbMV0uIE5vdyB0aGUgZmFuIHJwbSB3b3VsZCBiZSBzb21ldGhpbmcNCj5s aWtlDQo+DQo+MTUwMCAvIDIwMDAwID0gMC4wNzUNCj4NCj53aGVyZSBycG0gbWF4IDIwMDAwIGlz IGZyb20gZGJ1cy4gSG93ZXZlciB0aGUgZmFuIGlucHV0IGZ1bmN0aW9uIHdvdWxkDQo+dHJhbnNm ZXIgZG91YmxlIGludG8gaW50LCB3aGljaCBpcyAwIGZvciAwLjA3NSAoc2VlIFs1XSkuIEhlbmNl IHRoZSBmYW4gaW5wdXQgaXMgMA0KPm5vdCBwZXJjZW50YWdlLiBJcyB0aGVyZSBzb21ldGhpbmcg d3Jvbmc/DQo+DQo+WzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0N Cj5jb250cm9sL2NvbW1pdC9mYzJlODAzZjVkOTI1Njk0NGUxOGM3Yzg3OGE0NDE2MDZiMWYxMjFj DQo+WzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj5jb250cm9s L2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2ZDNmYmU4OGJkZGQwMmExYS9waWQvZmFuY29u dHJvbGxlDQo+ci5jcHAjTDg2DQo+WzNdDQo+ICAgICAgIHsNCj4gICAgICAgICAgICAibmFtZSI6 ICJmYW4xIiwNCj4gICAgICAgICAgICAidHlwZSI6ICJmYW4iLA0KPiAgICAgICAgICAgICJyZWFk UGF0aCI6ICIvc3lzL2NsYXNzL2h3bW9uL2h3bW9uMS9mYW4xX2lucHV0IiwNCj4gICAgICAgICAg ICAid3JpdGVQYXRoIjogIi9zeXMvY2xhc3MvaHdtb24vaHdtb24xL3B3bTEiLA0KPiAgICAgICAg ICAgICJtaW4iOiAwLA0KPiAgICAgICAgICAgICJtYXgiOiAyNTUNCj4gICAgICAgIH0sDQo+ICAg ICAgICB7DQo+ICAgICAgICAgICAgIm5hbWUiOiAidGVtcDEiLA0KPiAgICAgICAgICAgICJ0eXBl IjogInRlbXAiLA0KPiAgICAgICAgICAgICJyZWFkUGF0aCI6ICIveHl6L29wZW5ibWNfcHJvamVj dC9zZW5zb3JzL3RlbXBlcmF0dXJlL3RlbXAxIiwNCj4gICAgICAgICAgICAid3JpdGVQYXRoIjog IiIsDQo+ICAgICAgICAgICAgIm1pbiI6IDAsDQo+ICAgICAgICAgICAgIm1heCI6IDANCj4gICAg ICAgIH0NCj5bNF0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPmNv bnRyb2wvY29tbWl0Lzc1ZWI3NjlkMzUxNDM0NTQ3ODk5MTg2ZjczZmY3MGFlMDBkNzkzNGENCj5b NV0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPmNvbnRyb2wvYmxv Yi9hN2VjODM1MGQxN2I3MDE1M2NlYmU2NjZkM2ZiZTg4YmRkZDAyYTFhL3BpZC9mYW5jb250cm9s bGUNCj5yLmNwcCNMNjQNCj5bNl0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3It cGlkLQ0KPmNvbnRyb2wvYmxvYi9hN2VjODM1MGQxN2I3MDE1M2NlYmU2NjZkM2ZiZTg4YmRkZDAy YTFhL2RidXMvZGJ1c3Bhc3NpDQo+dmUuY3BwI0wxNTgNCj4NCj4+DQo+Pj4NCj4+Pg0KPj4+IFsx XQ0KPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj4+Y29udHJv bC9jb21taXQvZmMyZTgwM2Y1ZDkyNTY5DQo+Pj4gNDRlMThjN2M4NzhhNDQxNjA2YjFmMTIxYw0K Pj4+DQo+Pj4gWzJdDQo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlk LQ0KPj5jb250cm9sL2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTMNCj4+PiBjZWJlNjY2ZDNmYmU4OGJk ZGQwMmExYS9waWQvZmFuY29udHJvbGxlci5jcHAjTDg2DQo+Pj4NCj4+Pg0KPj4+IFRoYW5rcywN Cj4+Pg0KPj4+DQo+Pj4gSGFuayBMaW91DQo+Pj4NCj4+PiBRdWFudGEgQ29tcHV0ZXIgSW5jLg0K Pj4+DQo+Pj4NCj4NCj5TaW5jZXJlbHksDQo+SGFuaw0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::443; helo=mail-pf1-x443.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="f05kQs3W"; dkim-atps=neutral Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46K4d64VQZzDr96 for ; Fri, 30 Aug 2019 00:24:58 +1000 (AEST) Received: by mail-pf1-x443.google.com with SMTP id 196so2159630pfz.8 for ; Thu, 29 Aug 2019 07:24:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=V4RPhp+CWF2BPVccilHkgJu6EcSFn7d/cbLieglIXR8=; b=f05kQs3WSqPC+MuCqqsZhMMIcpvjM7F5tubw53srb8iBbLXWLDb0aAoWQK/ACVXkac t+d6IsfcNLs44IrG2hFyAE4JgmPqoPtxX658oxv3vg/H5c17aw8w6gwtS2UBxk4p7uGM W5mz54ba+fSTBjcDOoWsPYz5dd1oI+ir4rMt6PEYOW83YUmfhhaI7VHkPrFhoIkuCZS7 GMruYC7VW9n8w0TIDyeUW8cbskcP5KvQZ9+McjqjjhZnzAoaMHhRCxbUwvtfRWvmNhus n6gdi0EObx9ZpODNjslJa8ANS5561J8JwjFOPJ1LdvT4hFfznOPVld3rLsDF4b3X3z8y BPDw== 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=V4RPhp+CWF2BPVccilHkgJu6EcSFn7d/cbLieglIXR8=; b=XCbwGTbnHmbyTSJXvOi7AZBzLH50E0SVDvbT53EQdc9szzfsfsQjCsF4hwWrC2pWq9 WGtPRflFxvONylpzp4K6QKCX4+vDHKP3ViooB35dXq4sUA6okYW6qlegPMEhn01qQXlX MMn+tXV1kGOwlYeyVadrz7vI526HI9cubPya2514vVU1gc6p4+S0XdkThMsL2Gyaovwx fv1o1G7Ji6onlntiXS6Il1EyDzmZ3XelgdiN6z/NFiOZ5kpJxNLhcnqjGmW0E11WMYxP b3AwC/o95+5LR1+KUpOlnVZ3DpzpXW/1ee492OHXBdKG7/Usb0cMqR6h280aufHDB8Ob 7qWw== X-Gm-Message-State: APjAAAUQKbVdqbPoZTCKeZrhwSM/rIIMLgf/s7yTLOwLmxAN7hvZdBuL 5DM2O/5IWzNhdPH0dpqIM+NioIqseTHVzltJ91nAnUufTtE= X-Google-Smtp-Source: APXvYqz5ww9RzRCVTp6bdQjiHBtHuW9PnHoUvW911kJ4fVUd6CA9vVHQNcxF30Nn7WRdpbPDhC2ktQeVw+gJX8Sq5JE= X-Received: by 2002:a63:1f1f:: with SMTP id f31mr6208733pgf.353.1567088694568; Thu, 29 Aug 2019 07:24:54 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> In-Reply-To: From: Patrick Venture Date: Thu, 29 Aug 2019 07:24:43 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 14:24:59 -0000 On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi Patrick, > > I think it's OK to parse the config min&max for temp sensors. So, iirc, the min/max in the json is only for sensors that write, and not read. Sorry, I'm ramping up on a new team and slower to catch up to emails. Yeah, the min/max in the json are for basically converting a percentage value to a PWM values -- that's its initial goal. Temperature sensors typically don't have minimum and maximum values in the code's use-cases. I added James to this because they use the daemon for other cases -- where perhaps that'll make sense. > > Any suggestion? > > Thanks, > Hank > > >-----Original Message----- > >From: openbmc [mailto:openbmc- > >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Hank Lio= u > >(=E5=8A=89=E6=99=89=E7=BF=B0) > >Sent: Friday, August 23, 2019 4:31 PM > >To: Patrick Venture ; James Feist > > > >Cc: openbmc@lists.ozlabs.org > >Subject: RE: [phosphor-pid-control] scaling issue > > > >Hi Patrick, > > > >>-----Original Message----- > >>From: Patrick Venture [mailto:venture@google.com] > >>Sent: Wednesday, August 21, 2019 10:32 PM > >>To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; J= ames Feist > >> > >>Cc: openbmc@lists.ozlabs.org > >>Subject: Re: [phosphor-pid-control] scaling issue > >> > >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >> wrote: > >>> > >>> Hi All, > >>> > >>> > >>> After commit [1], I found my temp sensor reading would be re-scaled > >>> by > >>multiplying 1 over 255, making temperature into unfamiliar unit. Also > >>the fan rpm reading would lie in [0,1] interval, letting the fan input > >>to be 0 (since the input value of fan is from an integer array [2]). Ar= e these > >normal behaviors? > >>Or do I miss something? > >> > >>Are you using dbus configuration or json? If json, can you attach your= config. > >>Since you're saying it was working and now isn't, I'm assuming there's > >>something about the config being treated differently with the code > >>changes in an unexpected way. > > > >I found pid control will first read min and max from dbus and then (befo= re > >commit [1]) revise them if > > > >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) > > > >After value initialization, the min and max would be the ones in json fi= le (Json > >file [3]). However, after commit [1] the min and max values of config wo= uld > >not be fed into the fan control process. The scaling issue is originated= from > >commit [4] with the aim to treat fan rpm as percentage. It seems that co= mmit > >[1] unexpectedly affects temp sensors in the sense that the temp is the > >integer reading not percentage. Before commit [1], it would not re-scale= the > >temp reading since my min and max are 0 [6]. > > > > > > > >There is another issue with commit [1]. Now the fan rpm would be somethi= ng > >like > > > >1500 / 20000 =3D 0.075 > > > >where rpm max 20000 is from dbus. However the fan input function would > >transfer double into int, which is 0 for 0.075 (see [5]). Hence the fan = input is 0 > >not percentage. Is there something wrong? > > > >[1] https://github.com/openbmc/phosphor-pid- > >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > >[2] https://github.com/openbmc/phosphor-pid- > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle > >r.cpp#L86 > >[3] > > { > > "name": "fan1", > > "type": "fan", > > "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > > "writePath": "/sys/class/hwmon/hwmon1/pwm1", > > "min": 0, > > "max": 255 > > }, > > { > > "name": "temp1", > > "type": "temp", > > "readPath": "/xyz/openbmc_project/sensors/temperature/temp1"= , > > "writePath": "", > > "min": 0, > > "max": 0 > > } > >[4] https://github.com/openbmc/phosphor-pid- > >control/commit/75eb769d351434547899186f73ff70ae00d7934a > >[5] https://github.com/openbmc/phosphor-pid- > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle > >r.cpp#L64 > >[6] https://github.com/openbmc/phosphor-pid- > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi > >ve.cpp#L158 > > > >> > >>> > >>> > >>> [1] > >>> https://github.com/openbmc/phosphor-pid- > >>control/commit/fc2e803f5d92569 > >>> 44e18c7c878a441606b1f121c > >>> > >>> [2] > >>> https://github.com/openbmc/phosphor-pid- > >>control/blob/a7ec8350d17b70153 > >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > >>> > >>> > >>> Thanks, > >>> > >>> > >>> Hank Liou > >>> > >>> Quanta Computer Inc. > >>> > >>> > > > >Sincerely, > >Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=none (mailfrom) smtp.mailfrom=linux.intel.com (client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=james.feist@linux.intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.intel.com Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46K72z3N4KzDq9D for ; Fri, 30 Aug 2019 02:14:01 +1000 (AEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Aug 2019 09:13:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,444,1559545200"; d="scan'208";a="380820314" Received: from skyhawk.jf.intel.com (HELO [10.54.51.81]) ([10.54.51.81]) by fmsmga005.fm.intel.com with ESMTP; 29 Aug 2019 09:13:57 -0700 Subject: Re: [phosphor-pid-control] scaling issue To: Patrick Venture , =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: "openbmc@lists.ozlabs.org" References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> From: James Feist Message-ID: <580839e8-3185-35e7-7e49-b34cd4981b08@linux.intel.com> Date: Thu, 29 Aug 2019 09:13:57 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 16:14:05 -0000 On 8/29/19 7:24 AM, Patrick Venture wrote: > On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (劉晉翰) wrote: >> >> Hi Patrick, >> >> I think it's OK to parse the config min&max for temp sensors. > > So, iirc, the min/max in the json is only for sensors that write, and > not read. Sorry, I'm ramping up on a new team and slower to catch up > to emails. > > Yeah, the min/max in the json are for basically converting a > percentage value to a PWM values -- that's its initial goal. > Temperature sensors typically don't have minimum and maximum values in > the code's use-cases. I added James to this because they use the > daemon for other cases -- where perhaps that'll make sense. I believe the history of min/max being removed for passive sensors was here: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-pid-control/+/23470 The only other use case we have for min / max is for fan RPM so that we can create a PID based on Tach %, so that the same PID can be reused on multiple platforms with different sized fans. -James > >> >> Any suggestion? >> >> Thanks, >> Hank >> >>> -----Original Message----- >>> From: openbmc [mailto:openbmc- >>> bounces+hank.liou=quantatw.com@lists.ozlabs.org] On Behalf Of Hank Liou >>> (劉晉翰) >>> Sent: Friday, August 23, 2019 4:31 PM >>> To: Patrick Venture ; James Feist >>> >>> Cc: openbmc@lists.ozlabs.org >>> Subject: RE: [phosphor-pid-control] scaling issue >>> >>> Hi Patrick, >>> >>>> -----Original Message----- >>>> From: Patrick Venture [mailto:venture@google.com] >>>> Sent: Wednesday, August 21, 2019 10:32 PM >>>> To: Hank Liou (劉晉翰) ; James Feist >>>> >>>> Cc: openbmc@lists.ozlabs.org >>>> Subject: Re: [phosphor-pid-control] scaling issue >>>> >>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (劉晉翰) >>>> wrote: >>>>> >>>>> Hi All, >>>>> >>>>> >>>>> After commit [1], I found my temp sensor reading would be re-scaled >>>>> by >>>> multiplying 1 over 255, making temperature into unfamiliar unit. Also >>>> the fan rpm reading would lie in [0,1] interval, letting the fan input >>>> to be 0 (since the input value of fan is from an integer array [2]). Are these >>> normal behaviors? >>>> Or do I miss something? >>>> >>>> Are you using dbus configuration or json? If json, can you attach your config. >>>> Since you're saying it was working and now isn't, I'm assuming there's >>>> something about the config being treated differently with the code >>>> changes in an unexpected way. >>> >>> I found pid control will first read min and max from dbus and then (before >>> commit [1]) revise them if >>> >>> info->min != conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) >>> >>> After value initialization, the min and max would be the ones in json file (Json >>> file [3]). However, after commit [1] the min and max values of config would >>> not be fed into the fan control process. The scaling issue is originated from >>> commit [4] with the aim to treat fan rpm as percentage. It seems that commit >>> [1] unexpectedly affects temp sensors in the sense that the temp is the >>> integer reading not percentage. Before commit [1], it would not re-scale the >>> temp reading since my min and max are 0 [6]. >>> >>> >>> >>> There is another issue with commit [1]. Now the fan rpm would be something >>> like >>> >>> 1500 / 20000 = 0.075 >>> >>> where rpm max 20000 is from dbus. However the fan input function would >>> transfer double into int, which is 0 for 0.075 (see [5]). Hence the fan input is 0 >>> not percentage. Is there something wrong? >>> >>> [1] https://github.com/openbmc/phosphor-pid- >>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c >>> [2] https://github.com/openbmc/phosphor-pid- >>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle >>> r.cpp#L86 >>> [3] >>> { >>> "name": "fan1", >>> "type": "fan", >>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", >>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", >>> "min": 0, >>> "max": 255 >>> }, >>> { >>> "name": "temp1", >>> "type": "temp", >>> "readPath": "/xyz/openbmc_project/sensors/temperature/temp1", >>> "writePath": "", >>> "min": 0, >>> "max": 0 >>> } >>> [4] https://github.com/openbmc/phosphor-pid- >>> control/commit/75eb769d351434547899186f73ff70ae00d7934a >>> [5] https://github.com/openbmc/phosphor-pid- >>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle >>> r.cpp#L64 >>> [6] https://github.com/openbmc/phosphor-pid- >>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi >>> ve.cpp#L158 >>> >>>> >>>>> >>>>> >>>>> [1] >>>>> https://github.com/openbmc/phosphor-pid- >>>> control/commit/fc2e803f5d92569 >>>>> 44e18c7c878a441606b1f121c >>>>> >>>>> [2] >>>>> https://github.com/openbmc/phosphor-pid- >>>> control/blob/a7ec8350d17b70153 >>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> >>>>> Hank Liou >>>>> >>>>> Quanta Computer Inc. >>>>> >>>>> >>> >>> Sincerely, >>> Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::544; helo=mail-pg1-x544.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="PE8COMKH"; dkim-atps=neutral Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46K7Ck1zDtzDrVb for ; Fri, 30 Aug 2019 02:21:36 +1000 (AEST) Received: by mail-pg1-x544.google.com with SMTP id x15so1838552pgg.8 for ; Thu, 29 Aug 2019 09:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=mD37pj3KwE4GquhvEd6WLgB+uLkwJ3VOQGoC7CsEHVg=; b=PE8COMKHh6yLPVIfAkgr17ADHqN3v6v7bTyj1SyJKlNq2kkbTb1WwFnub3xwXflkZ/ X+DwnowLI7oruyNa9e6SQhl0yqkyzz7tlbvOnMxuQoUFXhIv+/oLBQsFp7UKAQbjEqdl YBoZV1/QN9QRxX4y3CH78h9NPKId7OMElagDqWR3y91EwGdV3BS9nZHCIphYneSnvCk1 icpyQ+0ztQH1BOHszDTMUoSN2xSDLCC+v8CrVue20ZZyaHHGnIbYroKQr8npicRuAw9W VCcSDf1Y3nV6cRGQdBGJhMLXdALzmPxJCLRyH4YnkWr3ArEJM7azGmMPMLujXSERtfwN 3JaA== 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=mD37pj3KwE4GquhvEd6WLgB+uLkwJ3VOQGoC7CsEHVg=; b=dKnmB/I/GOtb0Qq1tyAxFFSp9MaYwDviCuKRv9R/Zcy7jdTpLnKVH4vdVkw7tCG2jt RHK3ryN/6sm0HNxYuPTeJQ2H3bIzJ6pgp48TKIM8JjeeWlvv/1bV9lJE0YhxC0yKH2dm AhRJa3KPo9qngiUbgNlkuw+Fcffc/205TA9x/r6RddjH7kznyD0nEWDE6F893z+XK+0p 0Yfi3qvtNuLttv7UcppMj58M0FQAAPJswcAYtm2+6hhvkPZNvlxa1eyYO6XDUgHXTEJI R3p8V9/o0EHBKbK7gKM2CRDNIg6v6Xr/uNlajo827CZYJGTckjUjiy1xum7UVVOv7GxT W4UQ== X-Gm-Message-State: APjAAAV9ZVxS2ZwfnGCy3bNBlI3pFR5h/8hVZhGsiibR7B0kPAcCKVCB FuCb0l8jY/7r+ZI/IsqY9g7ZoITklSSesNQ7ZQEUBw== X-Google-Smtp-Source: APXvYqznJbk0dFBl5lJGGgtGaFM7PVlfjEZB0iob8mWLAfljU8BWPVf3A9cvrw+1z0dfJZpEC5nnRyb4bmIBQ0rt91E= X-Received: by 2002:a17:90a:23d0:: with SMTP id g74mr11115463pje.115.1567095694463; Thu, 29 Aug 2019 09:21:34 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <580839e8-3185-35e7-7e49-b34cd4981b08@linux.intel.com> In-Reply-To: <580839e8-3185-35e7-7e49-b34cd4981b08@linux.intel.com> From: Patrick Venture Date: Thu, 29 Aug 2019 09:21:23 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: James Feist Cc: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 16:21:39 -0000 On Thu, Aug 29, 2019 at 9:14 AM James Feist w= rote: > > On 8/29/19 7:24 AM, Patrick Venture wrote: > > On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0= ) wrote: > >> > >> Hi Patrick, > >> > >> I think it's OK to parse the config min&max for temp sensors. > > > > So, iirc, the min/max in the json is only for sensors that write, and > > not read. Sorry, I'm ramping up on a new team and slower to catch up > > to emails. > > > > Yeah, the min/max in the json are for basically converting a > > percentage value to a PWM values -- that's its initial goal. > > Temperature sensors typically don't have minimum and maximum values in > > the code's use-cases. I added James to this because they use the > > daemon for other cases -- where perhaps that'll make sense. > > I believe the history of min/max being removed for passive sensors was > here: > https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-pid-control/+/23470 > > The only other use case we have for min / max is for fan RPM so that we > can create a PID based on Tach %, so that the same PID can be reused on > multiple platforms with different sized fans. > > -James > > > > >> > >> Any suggestion? > >> > >> Thanks, > >> Hank > >> > >>> -----Original Message----- > >>> From: openbmc [mailto:openbmc- > >>> bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Hank = Liou > >>> (=E5=8A=89=E6=99=89=E7=BF=B0) > >>> Sent: Friday, August 23, 2019 4:31 PM > >>> To: Patrick Venture ; James Feist > >>> > >>> Cc: openbmc@lists.ozlabs.org > >>> Subject: RE: [phosphor-pid-control] scaling issue > >>> > >>> Hi Patrick, > >>> > >>>> -----Original Message----- > >>>> From: Patrick Venture [mailto:venture@google.com] > >>>> Sent: Wednesday, August 21, 2019 10:32 PM > >>>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) = ; James Feist > >>>> > >>>> Cc: openbmc@lists.ozlabs.org > >>>> Subject: Re: [phosphor-pid-control] scaling issue > >>>> > >>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) > >>>> wrote: > >>>>> > >>>>> Hi All, > >>>>> > >>>>> > >>>>> After commit [1], I found my temp sensor reading would be re-scaled > >>>>> by > >>>> multiplying 1 over 255, making temperature into unfamiliar unit. Als= o > >>>> the fan rpm reading would lie in [0,1] interval, letting the fan inp= ut > >>>> to be 0 (since the input value of fan is from an integer array [2]).= Are these > >>> normal behaviors? > >>>> Or do I miss something? > >>>> > >>>> Are you using dbus configuration or json? If json, can you attach y= our config. > >>>> Since you're saying it was working and now isn't, I'm assuming there= 's > >>>> something about the config being treated differently with the code > >>>> changes in an unexpected way. > >>> > >>> I found pid control will first read min and max from dbus and then (b= efore > >>> commit [1]) revise them if > >>> > >>> info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) > >>> > >>> After value initialization, the min and max would be the ones in json= file (Json > >>> file [3]). However, after commit [1] the min and max values of config= would > >>> not be fed into the fan control process. The scaling issue is origina= ted from > >>> commit [4] with the aim to treat fan rpm as percentage. It seems that= commit > >>> [1] unexpectedly affects temp sensors in the sense that the temp is t= he > >>> integer reading not percentage. Before commit [1], it would not re-sc= ale the > >>> temp reading since my min and max are 0 [6]. > >>> > >>> > >>> > >>> There is another issue with commit [1]. Now the fan rpm would be some= thing > >>> like > >>> > >>> 1500 / 20000 =3D 0.075 > >>> > >>> where rpm max 20000 is from dbus. However the fan input function woul= d > >>> transfer double into int, which is 0 for 0.075 (see [5]). Hence the f= an input is 0 > >>> not percentage. Is there something wrong? > >>> > >>> [1] https://github.com/openbmc/phosphor-pid- > >>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > >>> [2] https://github.com/openbmc/phosphor-pid- > >>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontroll= e > >>> r.cpp#L86 > >>> [3] > >>> { > >>> "name": "fan1", > >>> "type": "fan", > >>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > >>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", > >>> "min": 0, > >>> "max": 255 > >>> }, > >>> { > >>> "name": "temp1", > >>> "type": "temp", > >>> "readPath": "/xyz/openbmc_project/sensors/temperature/tem= p1", > >>> "writePath": "", > >>> "min": 0, > >>> "max": 0 > >>> } > >>> [4] https://github.com/openbmc/phosphor-pid- > >>> control/commit/75eb769d351434547899186f73ff70ae00d7934a > >>> [5] https://github.com/openbmc/phosphor-pid- > >>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontroll= e > >>> r.cpp#L64 > >>> [6] https://github.com/openbmc/phosphor-pid- > >>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi > >>> ve.cpp#L158 > >>> > >>>> > >>>>> > >>>>> > >>>>> [1] > >>>>> https://github.com/openbmc/phosphor-pid- > >>>> control/commit/fc2e803f5d92569 > >>>>> 44e18c7c878a441606b1f121c > >>>>> > >>>>> [2] > >>>>> https://github.com/openbmc/phosphor-pid- > >>>> control/blob/a7ec8350d17b70153 > >>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > >>>>> > >>>>> > >>>>> Thanks, > >>>>> > >>>>> > >>>>> Hank Liou > >>>>> > >>>>> Quanta Computer Inc. > >>>>> > >>>>> > >>> > >>> Sincerely, > >>> Hank Hank, do you need to use the min/max on the temperature sensors? Try your build with those entries deleted from the json file (they're optional). James, I think I should add a warning and ignore those fields in that case. What do you think? (I honestly thought they were already ignored for temperature sensors -- have to look at the code to verify). From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=none (mailfrom) smtp.mailfrom=linux.intel.com (client-ip=192.55.52.151; helo=mga17.intel.com; envelope-from=james.feist@linux.intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.intel.com Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46K7LB59ZjzDrVb for ; Fri, 30 Aug 2019 02:27:13 +1000 (AEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Aug 2019 09:27:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,444,1559545200"; d="scan'208";a="380823822" Received: from skyhawk.jf.intel.com (HELO [10.54.51.81]) ([10.54.51.81]) by fmsmga005.fm.intel.com with ESMTP; 29 Aug 2019 09:27:11 -0700 Subject: Re: [phosphor-pid-control] scaling issue To: Patrick Venture Cc: "openbmc@lists.ozlabs.org" References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <580839e8-3185-35e7-7e49-b34cd4981b08@linux.intel.com> From: James Feist Message-ID: <377bc71b-06f1-00be-babf-803a88a2af25@linux.intel.com> Date: Thu, 29 Aug 2019 09:27:10 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 16:27:16 -0000 On 8/29/19 9:21 AM, Patrick Venture wrote: > On Thu, Aug 29, 2019 at 9:14 AM James Feist wrote: >> >> On 8/29/19 7:24 AM, Patrick Venture wrote: >>> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (劉晉翰) wrote: >>>> >>>> Hi Patrick, >>>> >>>> I think it's OK to parse the config min&max for temp sensors. >>> >>> So, iirc, the min/max in the json is only for sensors that write, and >>> not read. Sorry, I'm ramping up on a new team and slower to catch up >>> to emails. >>> >>> Yeah, the min/max in the json are for basically converting a >>> percentage value to a PWM values -- that's its initial goal. >>> Temperature sensors typically don't have minimum and maximum values in >>> the code's use-cases. I added James to this because they use the >>> daemon for other cases -- where perhaps that'll make sense. >> >> I believe the history of min/max being removed for passive sensors was >> here: >> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-pid-control/+/23470 >> >> The only other use case we have for min / max is for fan RPM so that we >> can create a PID based on Tach %, so that the same PID can be reused on >> multiple platforms with different sized fans. >> >> -James >> >>> >>>> >>>> Any suggestion? >>>> >>>> Thanks, >>>> Hank >>>> >>>>> -----Original Message----- >>>>> From: openbmc [mailto:openbmc- >>>>> bounces+hank.liou=quantatw.com@lists.ozlabs.org] On Behalf Of Hank Liou >>>>> (劉晉翰) >>>>> Sent: Friday, August 23, 2019 4:31 PM >>>>> To: Patrick Venture ; James Feist >>>>> >>>>> Cc: openbmc@lists.ozlabs.org >>>>> Subject: RE: [phosphor-pid-control] scaling issue >>>>> >>>>> Hi Patrick, >>>>> >>>>>> -----Original Message----- >>>>>> From: Patrick Venture [mailto:venture@google.com] >>>>>> Sent: Wednesday, August 21, 2019 10:32 PM >>>>>> To: Hank Liou (劉晉翰) ; James Feist >>>>>> >>>>>> Cc: openbmc@lists.ozlabs.org >>>>>> Subject: Re: [phosphor-pid-control] scaling issue >>>>>> >>>>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (劉晉翰) >>>>>> wrote: >>>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> >>>>>>> After commit [1], I found my temp sensor reading would be re-scaled >>>>>>> by >>>>>> multiplying 1 over 255, making temperature into unfamiliar unit. Also >>>>>> the fan rpm reading would lie in [0,1] interval, letting the fan input >>>>>> to be 0 (since the input value of fan is from an integer array [2]). Are these >>>>> normal behaviors? >>>>>> Or do I miss something? >>>>>> >>>>>> Are you using dbus configuration or json? If json, can you attach your config. >>>>>> Since you're saying it was working and now isn't, I'm assuming there's >>>>>> something about the config being treated differently with the code >>>>>> changes in an unexpected way. >>>>> >>>>> I found pid control will first read min and max from dbus and then (before >>>>> commit [1]) revise them if >>>>> >>>>> info->min != conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) >>>>> >>>>> After value initialization, the min and max would be the ones in json file (Json >>>>> file [3]). However, after commit [1] the min and max values of config would >>>>> not be fed into the fan control process. The scaling issue is originated from >>>>> commit [4] with the aim to treat fan rpm as percentage. It seems that commit >>>>> [1] unexpectedly affects temp sensors in the sense that the temp is the >>>>> integer reading not percentage. Before commit [1], it would not re-scale the >>>>> temp reading since my min and max are 0 [6]. >>>>> >>>>> >>>>> >>>>> There is another issue with commit [1]. Now the fan rpm would be something >>>>> like >>>>> >>>>> 1500 / 20000 = 0.075 >>>>> >>>>> where rpm max 20000 is from dbus. However the fan input function would >>>>> transfer double into int, which is 0 for 0.075 (see [5]). Hence the fan input is 0 >>>>> not percentage. Is there something wrong? >>>>> >>>>> [1] https://github.com/openbmc/phosphor-pid- >>>>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c >>>>> [2] https://github.com/openbmc/phosphor-pid- >>>>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle >>>>> r.cpp#L86 >>>>> [3] >>>>> { >>>>> "name": "fan1", >>>>> "type": "fan", >>>>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", >>>>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", >>>>> "min": 0, >>>>> "max": 255 >>>>> }, >>>>> { >>>>> "name": "temp1", >>>>> "type": "temp", >>>>> "readPath": "/xyz/openbmc_project/sensors/temperature/temp1", >>>>> "writePath": "", >>>>> "min": 0, >>>>> "max": 0 >>>>> } >>>>> [4] https://github.com/openbmc/phosphor-pid- >>>>> control/commit/75eb769d351434547899186f73ff70ae00d7934a >>>>> [5] https://github.com/openbmc/phosphor-pid- >>>>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle >>>>> r.cpp#L64 >>>>> [6] https://github.com/openbmc/phosphor-pid- >>>>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi >>>>> ve.cpp#L158 >>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> [1] >>>>>>> https://github.com/openbmc/phosphor-pid- >>>>>> control/commit/fc2e803f5d92569 >>>>>>> 44e18c7c878a441606b1f121c >>>>>>> >>>>>>> [2] >>>>>>> https://github.com/openbmc/phosphor-pid- >>>>>> control/blob/a7ec8350d17b70153 >>>>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 >>>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> >>>>>>> Hank Liou >>>>>>> >>>>>>> Quanta Computer Inc. >>>>>>> >>>>>>> >>>>> >>>>> Sincerely, >>>>> Hank > > Hank, do you need to use the min/max on the temperature sensors? Try > your build with those entries deleted from the json file (they're > optional). > > James, I think I should add a warning and ignore those fields in that > case. What do you think? (I honestly thought they were already > ignored for temperature sensors -- have to look at the code to > verify). I don't have much of an opinion here as I don't use the json configuration, but more warnings never hurt. > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::442; helo=mail-pf1-x442.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="V+N+Y6oV"; dkim-atps=neutral Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46K96v1mJ8zDrjG for ; Fri, 30 Aug 2019 03:47:34 +1000 (AEST) Received: by mail-pf1-x442.google.com with SMTP id c81so2543648pfc.11 for ; Thu, 29 Aug 2019 10:47:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NVXTXEKY9Cx+/XycugBexjYav7Rqmn4wNrVct93I0oc=; b=V+N+Y6oVxC+3DsgcwdmHTA34pomCAfNJ/OiUPfG8uDk1Ia4UO5qICjGTpNQkPAY/1Z Dromj2jsWndeTxe/HAgrpSb6r5UuwoYK2r0Vh0kSlFCaY7Tp1rA6Rm8ltN9Jii1/Bx6p V+9yqLLaGaVKUAl3XSjseyN4cecI1pQ1V6tGlo55B0SplidDngOp6oDciASFQSkTEHdx 7lApnK5pnJDYxYbVLomHn58vqA973lvXcZS6patnb6AcO2MaRYLjylllaj19eLXI0Nv4 Ha9lt75Y/LDahi4cX/LKmpYpnAMgjHOLfD9Whu+8vbmulHO99HbulxP7arBdwDWuCy0k RKGw== 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=NVXTXEKY9Cx+/XycugBexjYav7Rqmn4wNrVct93I0oc=; b=WKMsNsUmmJH/a71TzabXoLAAbJhx6+3L/6FmuAgLoxd+HvM5895dnkIpT6214WQ7Ix n+KZMegexuu9vSho1Qgc2Cu5EJF+boH2c7SBH22puSCDcZ6XFI2C8weiNRo5YSvbS0JL gyjj/Eu/yeRG7HULqjDZLkI03HX80ePlo1WAjXdlH2pLF4EyBmHj6wTA5jO3eYanlp1I IAqzIPXxoL8OxEW1K2wwE6glyCuA+xYWpTjKmWwVOWfYyoXuG5oKBwznkpiWTFZmDyJD xiNI9JrerrYfuepPJyTai7XvS0Rl3b7ySWORgPunrp8oGkHLV1nUGh4VrUfhY2JCakUa ngdw== X-Gm-Message-State: APjAAAVBmVTNLcOcQVYpo7NGgloOPtof1BkGLb2Hme9iMbQRCNLg9fKE mP9i6l+D28GxZs9iqhLcwltyZOu1YO8u1822MBbUKA== X-Google-Smtp-Source: APXvYqwVjUcbtDJRj8YQMRNRxGqJD5jOuFd4sjr2FD0mUfjhbciHvunSMS0b8vTwTFbEHQvDv2JIsKQsGs+XJIVI7D4= X-Received: by 2002:a63:1f1f:: with SMTP id f31mr7041505pgf.353.1567100851074; Thu, 29 Aug 2019 10:47:31 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> In-Reply-To: From: Patrick Venture Date: Thu, 29 Aug 2019 10:47:19 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 17:47:35 -0000 PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and the srcrev bump should propagate into openbmc/openbmc in a day or two. On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi Patrick, > > I think it's OK to parse the config min&max for temp sensors. > > Any suggestion? > > Thanks, > Hank > > >-----Original Message----- > >From: openbmc [mailto:openbmc- > >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Hank Lio= u > >(=E5=8A=89=E6=99=89=E7=BF=B0) > >Sent: Friday, August 23, 2019 4:31 PM > >To: Patrick Venture ; James Feist > > > >Cc: openbmc@lists.ozlabs.org > >Subject: RE: [phosphor-pid-control] scaling issue > > > >Hi Patrick, > > > >>-----Original Message----- > >>From: Patrick Venture [mailto:venture@google.com] > >>Sent: Wednesday, August 21, 2019 10:32 PM > >>To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; J= ames Feist > >> > >>Cc: openbmc@lists.ozlabs.org > >>Subject: Re: [phosphor-pid-control] scaling issue > >> > >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >> wrote: > >>> > >>> Hi All, > >>> > >>> > >>> After commit [1], I found my temp sensor reading would be re-scaled > >>> by > >>multiplying 1 over 255, making temperature into unfamiliar unit. Also > >>the fan rpm reading would lie in [0,1] interval, letting the fan input > >>to be 0 (since the input value of fan is from an integer array [2]). Ar= e these > >normal behaviors? > >>Or do I miss something? > >> > >>Are you using dbus configuration or json? If json, can you attach your= config. > >>Since you're saying it was working and now isn't, I'm assuming there's > >>something about the config being treated differently with the code > >>changes in an unexpected way. > > > >I found pid control will first read min and max from dbus and then (befo= re > >commit [1]) revise them if > > > >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) > > > >After value initialization, the min and max would be the ones in json fi= le (Json > >file [3]). However, after commit [1] the min and max values of config wo= uld > >not be fed into the fan control process. The scaling issue is originated= from > >commit [4] with the aim to treat fan rpm as percentage. It seems that co= mmit > >[1] unexpectedly affects temp sensors in the sense that the temp is the > >integer reading not percentage. Before commit [1], it would not re-scale= the > >temp reading since my min and max are 0 [6]. > > > > > > > >There is another issue with commit [1]. Now the fan rpm would be somethi= ng > >like > > > >1500 / 20000 =3D 0.075 > > > >where rpm max 20000 is from dbus. However the fan input function would > >transfer double into int, which is 0 for 0.075 (see [5]). Hence the fan = input is 0 > >not percentage. Is there something wrong? > > > >[1] https://github.com/openbmc/phosphor-pid- > >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > >[2] https://github.com/openbmc/phosphor-pid- > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle > >r.cpp#L86 > >[3] > > { > > "name": "fan1", > > "type": "fan", > > "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > > "writePath": "/sys/class/hwmon/hwmon1/pwm1", > > "min": 0, > > "max": 255 > > }, > > { > > "name": "temp1", > > "type": "temp", > > "readPath": "/xyz/openbmc_project/sensors/temperature/temp1"= , > > "writePath": "", > > "min": 0, > > "max": 0 > > } > >[4] https://github.com/openbmc/phosphor-pid- > >control/commit/75eb769d351434547899186f73ff70ae00d7934a > >[5] https://github.com/openbmc/phosphor-pid- > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle > >r.cpp#L64 > >[6] https://github.com/openbmc/phosphor-pid- > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi > >ve.cpp#L158 > > > >> > >>> > >>> > >>> [1] > >>> https://github.com/openbmc/phosphor-pid- > >>control/commit/fc2e803f5d92569 > >>> 44e18c7c878a441606b1f121c > >>> > >>> [2] > >>> https://github.com/openbmc/phosphor-pid- > >>control/blob/a7ec8350d17b70153 > >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > >>> > >>> > >>> Thanks, > >>> > >>> > >>> Hank Liou > >>> > >>> Quanta Computer Inc. > >>> > >>> > > > >Sincerely, > >Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=219.87.191.90; helo=mx01.quantatw.com; envelope-from=prvs=141476095=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx01.quantatw.com (mx01.quantatw.com [219.87.191.90]) by lists.ozlabs.org (Postfix) with ESMTP id 46MP4B2RX2zDqBd for ; Mon, 2 Sep 2019 18:52:49 +1000 (AEST) Received: from unknown (HELO mailbx05.quanta.corp) ([10.243.91.100]) by mx01.quantatw.com with ESMTP; 02 Sep 2019 16:52:46 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx05.quanta.corp (10.243.91.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Sep 2019 16:52:45 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Mon, 2 Sep 2019 16:52:45 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: Patrick Venture CC: James Feist , "openbmc@lists.ozlabs.org" Subject: Re: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0UqcFJGgAgAE9VwCAC0qVsIAAQT+AgAYx+Nc= Date: Mon, 2 Sep 2019 08:52:45 +0000 Message-ID: <02128993d3064b53ac289500746666ab@quantatw.com> References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> , In-Reply-To: Accept-Language: en-US, zh-TW Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: multipart/alternative; boundary="_000_02128993d3064b53ac289500746666abquantatwcom_" MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2019 08:53:00 -0000 --_000_02128993d3064b53ac289500746666abquantatwcom_ Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 SGkgUGF0cmljaywNCg0KDQpTaW5jZSB3ZSB1c2UgcGhvc3Bob3Itc2VsLWxvZ2dlciBbMV0gYXQg dGhlIHNhbWUgdGltZSwgd2UgZG8gYXNzaWduIG1pbiBhbmQgbWF4IG9mIHRlbXAgc2Vuc29ycyB0 byBEYnVzIChtYXg6IDEyNywgbWluOiAtMTI4KS4gU28gaW4gdGhlIHByZXNlbnQgY2FzZSwgb3Vy IHRlbXAgdmFsdWUgd2lsbCBiZSBkaXZpZGVkIGJ5IDAuMjU1IChhbHNvIGR1ZSB0byBleHBvbmVu dCBpcyAtMyBoZXJlKS4gVGhpcyB3aWxsIGNhdXNlIHJlLXNjYWxpbmcgcHJvYmxlbS4gVGhlcmVm b3JlIHRoZXJlIHNob3VsZCBiZSBhbiBzdGF0ZW1lbnQgdG8gZGlzdGluZ3Vpc2ggc2Vuc29yIHR5 cGVzLiBJZiBpdCBpcyAidGVtcCIsIHRoZW4gb25lIGFzc2lnbnMgMCB0byB0aGUgbWluIGFuZCBt YXggZnJvbSBEYnVzLg0KDQoNClsxXSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhv ci1zZWwtbG9nZ2VyL2Jsb2IvM2QzMDBmY2EyNGIzMDg2NGIzZTlhNGY1NzY4Y2ZlNWU3Njk0NThh ZS9pbmNsdWRlL3NlbnNvcnV0aWxzLmhwcCNMNTk8aHR0cHM6Ly9nPg0KDQoNCkhhbmsNCg0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJvbTogUGF0cmljayBWZW50dXJlIDx2 ZW50dXJlQGdvb2dsZS5jb20+DQpTZW50OiBGcmlkYXksIEF1Z3VzdCAzMCwgMjAxOSAxOjQ3IEFN DQpUbzogSGFuayBMaW91ICi8Qq7Kv6spDQpDYzogSmFtZXMgRmVpc3Q7IG9wZW5ibWNAbGlzdHMu b3psYWJzLm9yZw0KU3ViamVjdDogUmU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGluZyBp c3N1ZQ0KDQpQVEFMIC0gaHR0cHM6Ly9nZXJyaXQub3BlbmJtYy1wcm9qZWN0Lnh5ei8yNDgyNyAt IHRoaXMgaXMgbWVyZ2VkLCBhbmQNCnRoZSBzcmNyZXYgYnVtcCBzaG91bGQgcHJvcGFnYXRlIGlu dG8gb3BlbmJtYy9vcGVuYm1jIGluIGEgZGF5IG9yIHR3by4NCg0KT24gV2VkLCBBdWcgMjgsIDIw MTkgYXQgMTE6MDAgUE0gSGFuayBMaW91ICi8Qq7Kv6spIDxIYW5rLkxpb3VAcXVhbnRhdHcuY29t PiB3cm90ZToNCj4NCj4gSGkgUGF0cmljaywNCj4NCj4gSSB0aGluayBpdCdzIE9LIHRvIHBhcnNl IHRoZSBjb25maWcgbWluJm1heCBmb3IgdGVtcCBzZW5zb3JzLg0KPg0KPiBBbnkgc3VnZ2VzdGlv bj8NCj4NCj4gVGhhbmtzLA0KPiBIYW5rDQo+DQo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+RnJvbTogb3BlbmJtYyBbbWFpbHRvOm9wZW5ibWMtDQo+ID5ib3VuY2VzK2hhbmsubGlv dT1xdWFudGF0dy5jb21AbGlzdHMub3psYWJzLm9yZ10gT24gQmVoYWxmIE9mIEhhbmsgTGlvdQ0K PiA+KLxCrsq/qykNCj4gPlNlbnQ6IEZyaWRheSwgQXVndXN0IDIzLCAyMDE5IDQ6MzEgUE0NCj4g PlRvOiBQYXRyaWNrIFZlbnR1cmUgPHZlbnR1cmVAZ29vZ2xlLmNvbT47IEphbWVzIEZlaXN0DQo+ ID48amFtZXMuZmVpc3RAbGludXguaW50ZWwuY29tPg0KPiA+Q2M6IG9wZW5ibWNAbGlzdHMub3ps YWJzLm9yZw0KPiA+U3ViamVjdDogUkU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGluZyBp c3N1ZQ0KPiA+DQo+ID5IaSBQYXRyaWNrLA0KPiA+DQo+ID4+LS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPj5Gcm9tOiBQYXRyaWNrIFZlbnR1cmUgW21haWx0bzp2ZW50dXJlQGdvb2dsZS5j b21dDQo+ID4+U2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMjEsIDIwMTkgMTA6MzIgUE0NCj4gPj5U bzogSGFuayBMaW91ICi8Qq7Kv6spIDxIYW5rLkxpb3VAcXVhbnRhdHcuY29tPjsgSmFtZXMgRmVp c3QNCj4gPj48amFtZXMuZmVpc3RAbGludXguaW50ZWwuY29tPg0KPiA+PkNjOiBvcGVuYm1jQGxp c3RzLm96bGFicy5vcmcNCj4gPj5TdWJqZWN0OiBSZTogW3Bob3NwaG9yLXBpZC1jb250cm9sXSBz Y2FsaW5nIGlzc3VlDQo+ID4+DQo+ID4+T24gV2VkLCBBdWcgMjEsIDIwMTkgYXQgMToxMSBBTSBI YW5rIExpb3UgKLxCrsq/qykNCj4gPj48SGFuay5MaW91QHF1YW50YXR3LmNvbT4gd3JvdGU6DQo+ ID4+Pg0KPiA+Pj4gSGkgQWxsLA0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBBZnRlciBjb21taXQgWzFd LCBJIGZvdW5kIG15IHRlbXAgc2Vuc29yIHJlYWRpbmcgd291bGQgYmUgcmUtc2NhbGVkDQo+ID4+ PiBieQ0KPiA+Pm11bHRpcGx5aW5nIDEgb3ZlciAyNTUsIG1ha2luZyB0ZW1wZXJhdHVyZSBpbnRv IHVuZmFtaWxpYXIgdW5pdC4gQWxzbw0KPiA+PnRoZSBmYW4gcnBtIHJlYWRpbmcgd291bGQgbGll IGluIFswLDFdIGludGVydmFsLCBsZXR0aW5nIHRoZSBmYW4gaW5wdXQNCj4gPj50byBiZSAwIChz aW5jZSB0aGUgaW5wdXQgdmFsdWUgb2YgZmFuIGlzIGZyb20gYW4gaW50ZWdlciBhcnJheSBbMl0p LiBBcmUgdGhlc2UNCj4gPm5vcm1hbCBiZWhhdmlvcnM/DQo+ID4+T3IgZG8gSSBtaXNzIHNvbWV0 aGluZz8NCj4gPj4NCj4gPj5BcmUgeW91IHVzaW5nIGRidXMgY29uZmlndXJhdGlvbiBvciBqc29u PyAgSWYganNvbiwgY2FuIHlvdSBhdHRhY2ggeW91ciBjb25maWcuDQo+ID4+U2luY2UgeW91J3Jl IHNheWluZyBpdCB3YXMgd29ya2luZyBhbmQgbm93IGlzbid0LCBJJ20gYXNzdW1pbmcgdGhlcmUn cw0KPiA+PnNvbWV0aGluZyBhYm91dCB0aGUgY29uZmlnIGJlaW5nIHRyZWF0ZWQgZGlmZmVyZW50 bHkgd2l0aCB0aGUgY29kZQ0KPiA+PmNoYW5nZXMgaW4gYW4gdW5leHBlY3RlZCB3YXkuDQo+ID4N Cj4gPkkgZm91bmQgcGlkIGNvbnRyb2wgd2lsbCBmaXJzdCByZWFkIG1pbiBhbmQgbWF4IGZyb20g ZGJ1cyBhbmQgdGhlbiAoYmVmb3JlDQo+ID5jb21taXQgWzFdKSByZXZpc2UgdGhlbSBpZg0KPiA+ DQo+ID5pbmZvLT5taW4gIT0gY29uZjo6aW5oZXJpdFZhbHVlRnJvbURidXMgKGluIGRidXMvZGJ1 c3Bhc3NpdmUuY3BwKQ0KPiA+DQo+ID5BZnRlciB2YWx1ZSBpbml0aWFsaXphdGlvbiwgdGhlIG1p biBhbmQgbWF4IHdvdWxkIGJlIHRoZSBvbmVzIGluIGpzb24gZmlsZSAoSnNvbg0KPiA+ZmlsZSBb M10pLiBIb3dldmVyLCBhZnRlciBjb21taXQgWzFdIHRoZSBtaW4gYW5kIG1heCB2YWx1ZXMgb2Yg Y29uZmlnIHdvdWxkDQo+ID5ub3QgYmUgZmVkIGludG8gdGhlIGZhbiBjb250cm9sIHByb2Nlc3Mu IFRoZSBzY2FsaW5nIGlzc3VlIGlzIG9yaWdpbmF0ZWQgZnJvbQ0KPiA+Y29tbWl0IFs0XSB3aXRo IHRoZSBhaW0gdG8gdHJlYXQgZmFuIHJwbSBhcyBwZXJjZW50YWdlLiBJdCBzZWVtcyB0aGF0IGNv bW1pdA0KPiA+WzFdIHVuZXhwZWN0ZWRseSBhZmZlY3RzIHRlbXAgc2Vuc29ycyBpbiB0aGUgc2Vu c2UgdGhhdCB0aGUgdGVtcCBpcyB0aGUNCj4gPmludGVnZXIgcmVhZGluZyBub3QgcGVyY2VudGFn ZS4gQmVmb3JlIGNvbW1pdCBbMV0sIGl0IHdvdWxkIG5vdCByZS1zY2FsZSB0aGUNCj4gPnRlbXAg cmVhZGluZyBzaW5jZSBteSBtaW4gYW5kIG1heCBhcmUgMCBbNl0uDQo+ID4NCj4gPg0KPiA+DQo+ ID5UaGVyZSBpcyBhbm90aGVyIGlzc3VlIHdpdGggY29tbWl0IFsxXS4gTm93IHRoZSBmYW4gcnBt IHdvdWxkIGJlIHNvbWV0aGluZw0KPiA+bGlrZQ0KPiA+DQo+ID4xNTAwIC8gMjAwMDAgPSAwLjA3 NQ0KPiA+DQo+ID53aGVyZSBycG0gbWF4IDIwMDAwIGlzIGZyb20gZGJ1cy4gSG93ZXZlciB0aGUg ZmFuIGlucHV0IGZ1bmN0aW9uIHdvdWxkDQo+ID50cmFuc2ZlciBkb3VibGUgaW50byBpbnQsIHdo aWNoIGlzIDAgZm9yIDAuMDc1IChzZWUgWzVdKS4gSGVuY2UgdGhlIGZhbiBpbnB1dCBpcyAwDQo+ ID5ub3QgcGVyY2VudGFnZS4gSXMgdGhlcmUgc29tZXRoaW5nIHdyb25nPw0KPiA+DQo+ID5bMV0g aHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPiA+Y29udHJvbC9jb21t aXQvZmMyZTgwM2Y1ZDkyNTY5NDRlMThjN2M4NzhhNDQxNjA2YjFmMTIxYw0KPiA+WzJdIGh0dHBz Oi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj4gPmNvbnRyb2wvYmxvYi9hN2Vj ODM1MGQxN2I3MDE1M2NlYmU2NjZkM2ZiZTg4YmRkZDAyYTFhL3BpZC9mYW5jb250cm9sbGUNCj4g PnIuY3BwI0w4Ng0KPiA+WzNdDQo+ID4gICAgICAgew0KPiA+ICAgICAgICAgICAgIm5hbWUiOiAi ZmFuMSIsDQo+ID4gICAgICAgICAgICAidHlwZSI6ICJmYW4iLA0KPiA+ICAgICAgICAgICAgInJl YWRQYXRoIjogIi9zeXMvY2xhc3MvaHdtb24vaHdtb24xL2ZhbjFfaW5wdXQiLA0KPiA+ICAgICAg ICAgICAgIndyaXRlUGF0aCI6ICIvc3lzL2NsYXNzL2h3bW9uL2h3bW9uMS9wd20xIiwNCj4gPiAg ICAgICAgICAgICJtaW4iOiAwLA0KPiA+ICAgICAgICAgICAgIm1heCI6IDI1NQ0KPiA+ICAgICAg ICB9LA0KPiA+ICAgICAgICB7DQo+ID4gICAgICAgICAgICAibmFtZSI6ICJ0ZW1wMSIsDQo+ID4g ICAgICAgICAgICAidHlwZSI6ICJ0ZW1wIiwNCj4gPiAgICAgICAgICAgICJyZWFkUGF0aCI6ICIv eHl6L29wZW5ibWNfcHJvamVjdC9zZW5zb3JzL3RlbXBlcmF0dXJlL3RlbXAxIiwNCj4gPiAgICAg ICAgICAgICJ3cml0ZVBhdGgiOiAiIiwNCj4gPiAgICAgICAgICAgICJtaW4iOiAwLA0KPiA+ICAg ICAgICAgICAgIm1heCI6IDANCj4gPiAgICAgICAgfQ0KPiA+WzRdIGh0dHBzOi8vZ2l0aHViLmNv bS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj4gPmNvbnRyb2wvY29tbWl0Lzc1ZWI3NjlkMzUxNDM0 NTQ3ODk5MTg2ZjczZmY3MGFlMDBkNzkzNGENCj4gPls1XSBodHRwczovL2dpdGh1Yi5jb20vb3Bl bmJtYy9waG9zcGhvci1waWQtDQo+ID5jb250cm9sL2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJl NjY2ZDNmYmU4OGJkZGQwMmExYS9waWQvZmFuY29udHJvbGxlDQo+ID5yLmNwcCNMNjQNCj4gPls2 XSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQtDQo+ID5jb250cm9sL2Js b2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2ZDNmYmU4OGJkZGQwMmExYS9kYnVzL2RidXNwYXNz aQ0KPiA+dmUuY3BwI0wxNTgNCj4gPg0KPiA+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBbMV0NCj4g Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj4gPj5jb250cm9s L2NvbW1pdC9mYzJlODAzZjVkOTI1NjkNCj4gPj4+IDQ0ZTE4YzdjODc4YTQ0MTYwNmIxZjEyMWMN Cj4gPj4+DQo+ID4+PiBbMl0NCj4gPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3Nw aG9yLXBpZC0NCj4gPj5jb250cm9sL2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTMNCj4gPj4+IGNlYmU2 NjZkM2ZiZTg4YmRkZDAyYTFhL3BpZC9mYW5jb250cm9sbGVyLmNwcCNMODYNCj4gPj4+DQo+ID4+ Pg0KPiA+Pj4gVGhhbmtzLA0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBIYW5rIExpb3UNCj4gPj4+DQo+ ID4+PiBRdWFudGEgQ29tcHV0ZXIgSW5jLg0KPiA+Pj4NCj4gPj4+DQo+ID4NCj4gPlNpbmNlcmVs eSwNCj4gPkhhbmsNCg== --_000_02128993d3064b53ac289500746666abquantatwcom_ Content-Type: text/html; charset="big5" Content-Transfer-Encoding: quoted-printable

Hi Patrick,


Since we use phosphor-sel-logger [1] at the same time, we do assign= min and max of temp sensors to Dbus (max: 127, min: -128). So i<= span style=3D"font-family: Calibri, Helvetica, sans-serif, EmojiFont, "= ;Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "= ;Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size:= 16px;">n the present case, our temp value will be divided by 0.255 (also due to&nbs= p;exponent is -3 here). This will cause re-scaling proble= m. Therefore there should be an statement to distinguish sensor types. If it is &qu= ot;temp", then one assigns 0 to the min and max from Dbus.=


[1] https://github.= com/openbmc/phosphor-sel-logger/blob/3d300fca24b30864b3e9a4f5768cfe5e769458= ae/include/sensorutils.hpp#L59


Hank



From: Patrick Venture <= ;venture@google.com>
Sent: Friday, August 30, 2019 1:47 AM
To: Hank Liou (=BCB=AE=CA=BF=AB)
Cc: James Feist; openbmc@lists.ozlabs.org
Subject: Re: [phosphor-pid-control] scaling issue
 
PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and
the srcrev bump should propagate into openbmc/openbmc in a day or two.

On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=BCB=AE=CA=BF=AB) <Hank.Liou= @quantatw.com> wrote:
>
> Hi Patrick,
>
> I think it's OK to parse the config min&max for temp sensors.
>
> Any suggestion?
>
> Thanks,
> Hank
>
> >-----Original Message-----
> >From: openbmc [mailto:openbmc-
> >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf O= f Hank Liou
> >(=BCB=AE=CA=BF=AB)
> >Sent: Friday, August 23, 2019 4:31 PM
> >To: Patrick Venture <venture@google.com>; James Feist
> ><james.feist@linux.intel.com>
> >Cc: openbmc@lists.ozlabs.org
> >Subject: RE: [phosphor-pid-control] scaling issue
> >
> >Hi Patrick,
> >
> >>-----Original Message-----
> >>From: Patrick Venture [m= ailto:venture@google.com]
> >>Sent: Wednesday, August 21, 2019 10:32 PM
> >>To: Hank Liou (=BCB=AE=CA=BF=AB) <Hank.Liou@quantatw.com>= ;; James Feist
> >><james.feist@linux.intel.com>
> >>Cc: openbmc@lists.ozlabs.org
> >>Subject: Re: [phosphor-pid-control] scaling issue
> >>
> >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=BCB=AE=CA=BF=AB) > >><Hank.Liou@quantatw.com> wrote:
> >>>
> >>> Hi All,
> >>>
> >>>
> >>> After commit [1], I found my temp sensor reading would be= re-scaled
> >>> by
> >>multiplying 1 over 255, making temperature into unfamiliar uni= t. Also
> >>the fan rpm reading would lie in [0,1] interval, letting the f= an input
> >>to be 0 (since the input value of fan is from an integer array= [2]). Are these
> >normal behaviors?
> >>Or do I miss something?
> >>
> >>Are you using dbus configuration or json?  If json, can y= ou attach your config.
> >>Since you're saying it was working and now isn't, I'm assuming= there's
> >>something about the config being treated differently with the = code
> >>changes in an unexpected way.
> >
> >I found pid control will first read min and max from dbus and then= (before
> >commit [1]) revise them if
> >
> >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.= cpp)
> >
> >After value initialization, the min and max would be the ones in j= son file (Json
> >file [3]). However, after commit [1] the min and max values of con= fig would
> >not be fed into the fan control process. The scaling issue is orig= inated from
> >commit [4] with the aim to treat fan rpm as percentage. It seems t= hat commit
> >[1] unexpectedly affects temp sensors in the sense that the temp i= s the
> >integer reading not percentage. Before commit [1], it would not re= -scale the
> >temp reading since my min and max are 0 [6].
> >
> >
> >
> >There is another issue with commit [1]. Now the fan rpm would be s= omething
> >like
> >
> >1500 / 20000 =3D 0.075
> >
> >where rpm max 20000 is from dbus. However the fan input function w= ould
> >transfer double into int, which is 0 for 0.075 (see [5]). Hence th= e fan input is 0
> >not percentage. Is there something wrong?
> >
> >[1] https://g= ithub.com/openbmc/phosphor-pid-
> >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c
> >[2] https://g= ithub.com/openbmc/phosphor-pid-
> >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontr= olle
> >r.cpp#L86
> >[3]
> >       {
> >           = "name": "fan1",
> >           = "type": "fan",
> >           = "readPath": "/sys/class/hwmon/hwmon1/fan1_input",
> >           = "writePath": "/sys/class/hwmon/hwmon1/pwm1",
> >           = "min": 0,
> >           = "max": 255
> >        },
> >        {
> >           = "name": "temp1",
> >           = "type": "temp",
> >           = "readPath": "/xyz/openbmc_project/sensors/temperature/temp1= ",
> >           = "writePath": "",
> >           = "min": 0,
> >           = "max": 0
> >        }
> >[4] https://g= ithub.com/openbmc/phosphor-pid-
> >control/commit/75eb769d351434547899186f73ff70ae00d7934a
> >[5] https://g= ithub.com/openbmc/phosphor-pid-
> >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontr= olle
> >r.cpp#L64
> >[6] https://g= ithub.com/openbmc/phosphor-pid-
> >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspas= si
> >ve.cpp#L158
> >
> >>
> >>>
> >>>
> >>> [1]
> >>> http= s://github.com/openbmc/phosphor-pid-
> >>control/commit/fc2e803f5d92569
> >>> 44e18c7c878a441606b1f121c
> >>>
> >>> [2]
> >>> http= s://github.com/openbmc/phosphor-pid-
> >>control/blob/a7ec8350d17b70153
> >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86
> >>>
> >>>
> >>> Thanks,
> >>>
> >>>
> >>> Hank Liou
> >>>
> >>> Quanta Computer Inc.
> >>>
> >>>
> >
> >Sincerely,
> >Hank
--_000_02128993d3064b53ac289500746666abquantatwcom_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=220.128.79.91; helo=mx02.quantatw.com; envelope-from=prvs=144bab7d6=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx02.quantatw.com (mx02.quantatw.com [220.128.79.91]) by lists.ozlabs.org (Postfix) with ESMTP id 46PBzl0rQSzDr1Q for ; Thu, 5 Sep 2019 17:25:18 +1000 (AEST) Received: from unknown (HELO mailbx09.quanta.corp) ([10.243.91.106]) by mx02.quantatw.com with ESMTP; 05 Sep 2019 15:25:15 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx09.quanta.corp (10.243.91.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Sep 2019 15:25:15 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Thu, 5 Sep 2019 15:25:15 +0800 From: =?big5?B?SGFuayBMaW91ICi8Qq7Kv6sp?= To: Patrick Venture CC: James Feist , "openbmc@lists.ozlabs.org" Subject: Re: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0UqcFJGgAgAE9VwCAC0qVsIAAQT+AgAYx+NeABJmE/A== Date: Thu, 5 Sep 2019 07:25:15 +0000 Message-ID: References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> , , <02128993d3064b53ac289500746666ab@quantatw.com> In-Reply-To: <02128993d3064b53ac289500746666ab@quantatw.com> Accept-Language: en-US, zh-TW Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: multipart/alternative; boundary="_000_dbd75be40e2f4d41a5b621a5dc3b3df7quantatwcom_" MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Sep 2019 07:25:24 -0000 --_000_dbd75be40e2f4d41a5b621a5dc3b3df7quantatwcom_ Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: base64 SGkgUGF0cmljaywNCg0KDQpTb3JyeSBmb3Igbm90IGNsZWFybHkgc3RhdGluZyBvdXIgcHJvYmxl bS4gV2UgaGF2ZSB0aGUgZm9sbG93aW5nIGlzc3VlOg0KDQoNCnRlbXAgc2Vuc29yIGdldHMgMzEo QykgLT4gMzEgLyAwLjI1NSA9IDEyMS41NyAtPiBwaWQgdXNlcyAxMjcuNTcgYXMgaW5wdXQgZm9y IHRlbXAgc2Vuc29yIC0+DQoNCnN0ZXB3aXNlIGZhbiB0YWJsZSBvdXRwdXQgMTAwIGR1dHkgLT4g ZnVsbCBzcGVlZCBmYW4NCg0KDQpBcyBhIHJlc3VsdCwgZmFuIHdpbGwgYmUgYXQgZnVsbCBzcGVl ZCB3aGlsZSB0ZW1wIGlzIGxvdy4gQmVmb3JlIHRoZSBjb21taXQgZmMyZTgwMyBbMV0sIHRoaXMg d29uJ3QgaGFwcGVuLiBUaGUgcm9vdCBjYXVzZSBpcyB0aGF0LCBiZWZvcmUgZmMyZTgwMywgcGlk IHdpbGwgdXNlIGNvbmZpZyBtaW4vbWF4LCB3aGljaCBpcyAwIGluIG91ciBjYXNlLiBUaGlzIHdv dWxkIG5vdCB0cmlnZ2VyIHNjYWxpbmcgZnVuY3Rpb24sIG5hbWVseSBzY2FsZVNlbnNvclJlYWRp bmcsIGluIHV0aWwuY3BwLiBIb3dldmVyLCBhZnRlciBzdWNoIGNvbW1pdCwgbWluL21heCB3b3Vs ZCBiZSBub24temVybyAoLTEyOC8xMjcgZnJvbSBEQnVzKS4gVGhpcyB3aWxsIHRyaWdnZXIgc2Nh bGluZyBmdW5jdGlvbi4NCg0KDQpbMV0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bo b3ItcGlkLWNvbnRyb2wvY29tbWl0L2ZjMmU4MDNmNWQ5MjU2OTQ0ZTE4YzdjODc4YTQ0MTYwNmIx ZjEyMWMNCg0KDQpIYW5rDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9t OiBIYW5rIExpb3UgKLxCrsq/qykNClNlbnQ6IE1vbmRheSwgU2VwdGVtYmVyIDIsIDIwMTkgNDo1 MiBQTQ0KVG86IFBhdHJpY2sgVmVudHVyZQ0KQ2M6IEphbWVzIEZlaXN0OyBvcGVuYm1jQGxpc3Rz Lm96bGFicy5vcmcNClN1YmplY3Q6IFJlOiBbcGhvc3Bob3ItcGlkLWNvbnRyb2xdIHNjYWxpbmcg aXNzdWUNCg0KDQpIaSBQYXRyaWNrLA0KDQoNClNpbmNlIHdlIHVzZSBwaG9zcGhvci1zZWwtbG9n Z2VyIFsxXSBhdCB0aGUgc2FtZSB0aW1lLCB3ZSBkbyBhc3NpZ24gbWluIGFuZCBtYXggb2YgdGVt cCBzZW5zb3JzIHRvIERidXMgKG1heDogMTI3LCBtaW46IC0xMjgpLiBTbyBpbiB0aGUgcHJlc2Vu dCBjYXNlLCBvdXIgdGVtcCB2YWx1ZSB3aWxsIGJlIGRpdmlkZWQgYnkgMC4yNTUgKGFsc28gZHVl IHRvIGV4cG9uZW50IGlzIC0zIGhlcmUpLiBUaGlzIHdpbGwgY2F1c2UgcmUtc2NhbGluZyBwcm9i bGVtLiBUaGVyZWZvcmUgdGhlcmUgc2hvdWxkIGJlIGFuIHN0YXRlbWVudCB0byBkaXN0aW5ndWlz aCBzZW5zb3IgdHlwZXMuIElmIGl0IGlzICJ0ZW1wIiwgdGhlbiBvbmUgYXNzaWducyAwIHRvIHRo ZSBtaW4gYW5kIG1heCBmcm9tIERidXMuDQoNCg0KWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVu Ym1jL3Bob3NwaG9yLXNlbC1sb2dnZXIvYmxvYi8zZDMwMGZjYTI0YjMwODY0YjNlOWE0ZjU3Njhj ZmU1ZTc2OTQ1OGFlL2luY2x1ZGUvc2Vuc29ydXRpbHMuaHBwI0w1OTxodHRwczovL2c+DQoNCg0K SGFuaw0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBQYXRyaWNr IFZlbnR1cmUgPHZlbnR1cmVAZ29vZ2xlLmNvbT4NClNlbnQ6IEZyaWRheSwgQXVndXN0IDMwLCAy MDE5IDE6NDcgQU0NClRvOiBIYW5rIExpb3UgKLxCrsq/qykNCkNjOiBKYW1lcyBGZWlzdDsgb3Bl bmJtY0BsaXN0cy5vemxhYnMub3JnDQpTdWJqZWN0OiBSZTogW3Bob3NwaG9yLXBpZC1jb250cm9s XSBzY2FsaW5nIGlzc3VlDQoNClBUQUwgLSBodHRwczovL2dlcnJpdC5vcGVuYm1jLXByb2plY3Qu eHl6LzI0ODI3IC0gdGhpcyBpcyBtZXJnZWQsIGFuZA0KdGhlIHNyY3JldiBidW1wIHNob3VsZCBw cm9wYWdhdGUgaW50byBvcGVuYm1jL29wZW5ibWMgaW4gYSBkYXkgb3IgdHdvLg0KDQpPbiBXZWQs IEF1ZyAyOCwgMjAxOSBhdCAxMTowMCBQTSBIYW5rIExpb3UgKLxCrsq/qykgPEhhbmsuTGlvdUBx dWFudGF0dy5jb20+IHdyb3RlOg0KPg0KPiBIaSBQYXRyaWNrLA0KPg0KPiBJIHRoaW5rIGl0J3Mg T0sgdG8gcGFyc2UgdGhlIGNvbmZpZyBtaW4mbWF4IGZvciB0ZW1wIHNlbnNvcnMuDQo+DQo+IEFu eSBzdWdnZXN0aW9uPw0KPg0KPiBUaGFua3MsDQo+IEhhbmsNCj4NCj4gPi0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID5Gcm9tOiBvcGVuYm1jIFttYWlsdG86b3BlbmJtYy0NCj4gPmJvdW5j ZXMraGFuay5saW91PXF1YW50YXR3LmNvbUBsaXN0cy5vemxhYnMub3JnXSBPbiBCZWhhbGYgT2Yg SGFuayBMaW91DQo+ID4ovEKuyr+rKQ0KPiA+U2VudDogRnJpZGF5LCBBdWd1c3QgMjMsIDIwMTkg NDozMSBQTQ0KPiA+VG86IFBhdHJpY2sgVmVudHVyZSA8dmVudHVyZUBnb29nbGUuY29tPjsgSmFt ZXMgRmVpc3QNCj4gPjxqYW1lcy5mZWlzdEBsaW51eC5pbnRlbC5jb20+DQo+ID5DYzogb3BlbmJt Y0BsaXN0cy5vemxhYnMub3JnDQo+ID5TdWJqZWN0OiBSRTogW3Bob3NwaG9yLXBpZC1jb250cm9s XSBzY2FsaW5nIGlzc3VlDQo+ID4NCj4gPkhpIFBhdHJpY2ssDQo+ID4NCj4gPj4tLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PkZyb206IFBhdHJpY2sgVmVudHVyZSBbbWFpbHRvOnZlbnR1 cmVAZ29vZ2xlLmNvbV0NCj4gPj5TZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAyMSwgMjAxOSAxMDoz MiBQTQ0KPiA+PlRvOiBIYW5rIExpb3UgKLxCrsq/qykgPEhhbmsuTGlvdUBxdWFudGF0dy5jb20+ OyBKYW1lcyBGZWlzdA0KPiA+PjxqYW1lcy5mZWlzdEBsaW51eC5pbnRlbC5jb20+DQo+ID4+Q2M6 IG9wZW5ibWNAbGlzdHMub3psYWJzLm9yZw0KPiA+PlN1YmplY3Q6IFJlOiBbcGhvc3Bob3ItcGlk LWNvbnRyb2xdIHNjYWxpbmcgaXNzdWUNCj4gPj4NCj4gPj5PbiBXZWQsIEF1ZyAyMSwgMjAxOSBh dCAxOjExIEFNIEhhbmsgTGlvdSAovEKuyr+rKQ0KPiA+PjxIYW5rLkxpb3VAcXVhbnRhdHcuY29t PiB3cm90ZToNCj4gPj4+DQo+ID4+PiBIaSBBbGwsDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IEFmdGVy IGNvbW1pdCBbMV0sIEkgZm91bmQgbXkgdGVtcCBzZW5zb3IgcmVhZGluZyB3b3VsZCBiZSByZS1z Y2FsZWQNCj4gPj4+IGJ5DQo+ID4+bXVsdGlwbHlpbmcgMSBvdmVyIDI1NSwgbWFraW5nIHRlbXBl cmF0dXJlIGludG8gdW5mYW1pbGlhciB1bml0LiBBbHNvDQo+ID4+dGhlIGZhbiBycG0gcmVhZGlu ZyB3b3VsZCBsaWUgaW4gWzAsMV0gaW50ZXJ2YWwsIGxldHRpbmcgdGhlIGZhbiBpbnB1dA0KPiA+ PnRvIGJlIDAgKHNpbmNlIHRoZSBpbnB1dCB2YWx1ZSBvZiBmYW4gaXMgZnJvbSBhbiBpbnRlZ2Vy IGFycmF5IFsyXSkuIEFyZSB0aGVzZQ0KPiA+bm9ybWFsIGJlaGF2aW9ycz8NCj4gPj5PciBkbyBJ IG1pc3Mgc29tZXRoaW5nPw0KPiA+Pg0KPiA+PkFyZSB5b3UgdXNpbmcgZGJ1cyBjb25maWd1cmF0 aW9uIG9yIGpzb24/ICBJZiBqc29uLCBjYW4geW91IGF0dGFjaCB5b3VyIGNvbmZpZy4NCj4gPj5T aW5jZSB5b3UncmUgc2F5aW5nIGl0IHdhcyB3b3JraW5nIGFuZCBub3cgaXNuJ3QsIEknbSBhc3N1 bWluZyB0aGVyZSdzDQo+ID4+c29tZXRoaW5nIGFib3V0IHRoZSBjb25maWcgYmVpbmcgdHJlYXRl ZCBkaWZmZXJlbnRseSB3aXRoIHRoZSBjb2RlDQo+ID4+Y2hhbmdlcyBpbiBhbiB1bmV4cGVjdGVk IHdheS4NCj4gPg0KPiA+SSBmb3VuZCBwaWQgY29udHJvbCB3aWxsIGZpcnN0IHJlYWQgbWluIGFu ZCBtYXggZnJvbSBkYnVzIGFuZCB0aGVuIChiZWZvcmUNCj4gPmNvbW1pdCBbMV0pIHJldmlzZSB0 aGVtIGlmDQo+ID4NCj4gPmluZm8tPm1pbiAhPSBjb25mOjppbmhlcml0VmFsdWVGcm9tRGJ1cyAo aW4gZGJ1cy9kYnVzcGFzc2l2ZS5jcHApDQo+ID4NCj4gPkFmdGVyIHZhbHVlIGluaXRpYWxpemF0 aW9uLCB0aGUgbWluIGFuZCBtYXggd291bGQgYmUgdGhlIG9uZXMgaW4ganNvbiBmaWxlIChKc29u DQo+ID5maWxlIFszXSkuIEhvd2V2ZXIsIGFmdGVyIGNvbW1pdCBbMV0gdGhlIG1pbiBhbmQgbWF4 IHZhbHVlcyBvZiBjb25maWcgd291bGQNCj4gPm5vdCBiZSBmZWQgaW50byB0aGUgZmFuIGNvbnRy b2wgcHJvY2Vzcy4gVGhlIHNjYWxpbmcgaXNzdWUgaXMgb3JpZ2luYXRlZCBmcm9tDQo+ID5jb21t aXQgWzRdIHdpdGggdGhlIGFpbSB0byB0cmVhdCBmYW4gcnBtIGFzIHBlcmNlbnRhZ2UuIEl0IHNl ZW1zIHRoYXQgY29tbWl0DQo+ID5bMV0gdW5leHBlY3RlZGx5IGFmZmVjdHMgdGVtcCBzZW5zb3Jz IGluIHRoZSBzZW5zZSB0aGF0IHRoZSB0ZW1wIGlzIHRoZQ0KPiA+aW50ZWdlciByZWFkaW5nIG5v dCBwZXJjZW50YWdlLiBCZWZvcmUgY29tbWl0IFsxXSwgaXQgd291bGQgbm90IHJlLXNjYWxlIHRo ZQ0KPiA+dGVtcCByZWFkaW5nIHNpbmNlIG15IG1pbiBhbmQgbWF4IGFyZSAwIFs2XS4NCj4gPg0K PiA+DQo+ID4NCj4gPlRoZXJlIGlzIGFub3RoZXIgaXNzdWUgd2l0aCBjb21taXQgWzFdLiBOb3cg dGhlIGZhbiBycG0gd291bGQgYmUgc29tZXRoaW5nDQo+ID5saWtlDQo+ID4NCj4gPjE1MDAgLyAy MDAwMCA9IDAuMDc1DQo+ID4NCj4gPndoZXJlIHJwbSBtYXggMjAwMDAgaXMgZnJvbSBkYnVzLiBI b3dldmVyIHRoZSBmYW4gaW5wdXQgZnVuY3Rpb24gd291bGQNCj4gPnRyYW5zZmVyIGRvdWJsZSBp bnRvIGludCwgd2hpY2ggaXMgMCBmb3IgMC4wNzUgKHNlZSBbNV0pLiBIZW5jZSB0aGUgZmFuIGlu cHV0IGlzIDANCj4gPm5vdCBwZXJjZW50YWdlLiBJcyB0aGVyZSBzb21ldGhpbmcgd3Jvbmc/DQo+ ID4NCj4gPlsxXSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQtDQo+ID5j b250cm9sL2NvbW1pdC9mYzJlODAzZjVkOTI1Njk0NGUxOGM3Yzg3OGE0NDE2MDZiMWYxMjFjDQo+ ID5bMl0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPiA+Y29udHJv bC9ibG9iL2E3ZWM4MzUwZDE3YjcwMTUzY2ViZTY2NmQzZmJlODhiZGRkMDJhMWEvcGlkL2ZhbmNv bnRyb2xsZQ0KPiA+ci5jcHAjTDg2DQo+ID5bM10NCj4gPiAgICAgICB7DQo+ID4gICAgICAgICAg ICAibmFtZSI6ICJmYW4xIiwNCj4gPiAgICAgICAgICAgICJ0eXBlIjogImZhbiIsDQo+ID4gICAg ICAgICAgICAicmVhZFBhdGgiOiAiL3N5cy9jbGFzcy9od21vbi9od21vbjEvZmFuMV9pbnB1dCIs DQo+ID4gICAgICAgICAgICAid3JpdGVQYXRoIjogIi9zeXMvY2xhc3MvaHdtb24vaHdtb24xL3B3 bTEiLA0KPiA+ICAgICAgICAgICAgIm1pbiI6IDAsDQo+ID4gICAgICAgICAgICAibWF4IjogMjU1 DQo+ID4gICAgICAgIH0sDQo+ID4gICAgICAgIHsNCj4gPiAgICAgICAgICAgICJuYW1lIjogInRl bXAxIiwNCj4gPiAgICAgICAgICAgICJ0eXBlIjogInRlbXAiLA0KPiA+ICAgICAgICAgICAgInJl YWRQYXRoIjogIi94eXovb3BlbmJtY19wcm9qZWN0L3NlbnNvcnMvdGVtcGVyYXR1cmUvdGVtcDEi LA0KPiA+ICAgICAgICAgICAgIndyaXRlUGF0aCI6ICIiLA0KPiA+ICAgICAgICAgICAgIm1pbiI6 IDAsDQo+ID4gICAgICAgICAgICAibWF4IjogMA0KPiA+ICAgICAgICB9DQo+ID5bNF0gaHR0cHM6 Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPiA+Y29udHJvbC9jb21taXQvNzVl Yjc2OWQzNTE0MzQ1NDc4OTkxODZmNzNmZjcwYWUwMGQ3OTM0YQ0KPiA+WzVdIGh0dHBzOi8vZ2l0 aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj4gPmNvbnRyb2wvYmxvYi9hN2VjODM1MGQx N2I3MDE1M2NlYmU2NjZkM2ZiZTg4YmRkZDAyYTFhL3BpZC9mYW5jb250cm9sbGUNCj4gPnIuY3Bw I0w2NA0KPiA+WzZdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBpZC0NCj4g PmNvbnRyb2wvYmxvYi9hN2VjODM1MGQxN2I3MDE1M2NlYmU2NjZkM2ZiZTg4YmRkZDAyYTFhL2Ri dXMvZGJ1c3Bhc3NpDQo+ID52ZS5jcHAjTDE1OA0KPiA+DQo+ID4+DQo+ID4+Pg0KPiA+Pj4NCj4g Pj4+IFsxXQ0KPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0K PiA+PmNvbnRyb2wvY29tbWl0L2ZjMmU4MDNmNWQ5MjU2OQ0KPiA+Pj4gNDRlMThjN2M4NzhhNDQx NjA2YjFmMTIxYw0KPiA+Pj4NCj4gPj4+IFsyXQ0KPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL29w ZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPiA+PmNvbnRyb2wvYmxvYi9hN2VjODM1MGQxN2I3MDE1Mw0K PiA+Pj4gY2ViZTY2NmQzZmJlODhiZGRkMDJhMWEvcGlkL2ZhbmNvbnRyb2xsZXIuY3BwI0w4Ng0K PiA+Pj4NCj4gPj4+DQo+ID4+PiBUaGFua3MsDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IEhhbmsgTGlv dQ0KPiA+Pj4NCj4gPj4+IFF1YW50YSBDb21wdXRlciBJbmMuDQo+ID4+Pg0KPiA+Pj4NCj4gPg0K PiA+U2luY2VyZWx5LA0KPiA+SGFuaw0K --_000_dbd75be40e2f4d41a5b621a5dc3b3df7quantatwcom_ Content-Type: text/html; charset="big5" Content-Transfer-Encoding: quoted-printable

Hi Patrick,


Sorry for not clearly stating our problem. We have the following issue:


temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 1= 27.57 as input for temp sensor ->

stepwise fan table output 100 duty -> full speed fan


As a result, fan will be at full speed while temp is low. Before the com= mit fc2e803 [1], this won't happen. The root cause is that, before fc2e803= , pid will use config min/max, which is 0 in our case. This would not trigg= er scaling function, namely scaleSensorReading, in util.c= pp. However, after such commit, min/max would be non-zero (-128/127 from DBus). This will trigger scaling function.


[1] https://github.com/openbmc/phosphor-pid-= control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c


Hank



From: Hank Liou (=BCB=AE=CA= =BF=AB)
Sent: Monday, September 2, 2019 4:52 PM
To: Patrick Venture
Cc: James Feist; openbmc@lists.ozlabs.org
Subject: Re: [phosphor-pid-control] scaling issue
 

Hi Patrick,


Since we use phosphor-sel-logger [1] at the same time, we do assign= min and max of temp sensors to Dbus (max: 127, min: -128). So i<= span style=3D"font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Appl= e Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe U= I Symbol","Android Emoji",EmojiSymbols; font-size:16px">n the present case, our temp value will be divided by 0.255 (also due to&nbs= p;exponent is -3 here). This will cause re-scaling problem. Therefore there should be an statement to distinguish sensor types. If it is "t= emp", then one assigns 0 to the min and max from Dbus.


[1] https://github.= com/openbmc/phosphor-sel-logger/blob/3d300fca24b30864b3e9a4f5768cfe5e769458= ae/include/sensorutils.hpp#L59


Hank



From: Patrick Venture <= ;venture@google.com>
Sent: Friday, August 30, 2019 1:47 AM
To: Hank Liou (=BCB=AE=CA=BF=AB)
Cc: James Feist; openbmc@lists.ozlabs.org
Subject: Re: [phosphor-pid-control] scaling issue
 
PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and
the srcrev bump should propagate into openbmc/openbmc in a day or two.

On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=BCB=AE=CA=BF=AB) <Hank.Liou= @quantatw.com> wrote:
>
> Hi Patrick,
>
> I think it's OK to parse the config min&max for temp sensors.
>
> Any suggestion?
>
> Thanks,
> Hank
>
> >-----Original Message-----
> >From: openbmc [mailto:openbmc-
> >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf O= f Hank Liou
> >(=BCB=AE=CA=BF=AB)
> >Sent: Friday, August 23, 2019 4:31 PM
> >To: Patrick Venture <venture@google.com>; James Feist
> ><james.feist@linux.intel.com>
> >Cc: openbmc@lists.ozlabs.org
> >Subject: RE: [phosphor-pid-control] scaling issue
> >
> >Hi Patrick,
> >
> >>-----Original Message-----
> >>From: Patrick Venture [m= ailto:venture@google.com]
> >>Sent: Wednesday, August 21, 2019 10:32 PM
> >>To: Hank Liou (=BCB=AE=CA=BF=AB) <Hank.Liou@quantatw.com>= ;; James Feist
> >><james.feist@linux.intel.com>
> >>Cc: openbmc@lists.ozlabs.org
> >>Subject: Re: [phosphor-pid-control] scaling issue
> >>
> >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=BCB=AE=CA=BF=AB) > >><Hank.Liou@quantatw.com> wrote:
> >>>
> >>> Hi All,
> >>>
> >>>
> >>> After commit [1], I found my temp sensor reading would be= re-scaled
> >>> by
> >>multiplying 1 over 255, making temperature into unfamiliar uni= t. Also
> >>the fan rpm reading would lie in [0,1] interval, letting the f= an input
> >>to be 0 (since the input value of fan is from an integer array= [2]). Are these
> >normal behaviors?
> >>Or do I miss something?
> >>
> >>Are you using dbus configuration or json?  If json, can y= ou attach your config.
> >>Since you're saying it was working and now isn't, I'm assuming= there's
> >>something about the config being treated differently with the = code
> >>changes in an unexpected way.
> >
> >I found pid control will first read min and max from dbus and then= (before
> >commit [1]) revise them if
> >
> >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.= cpp)
> >
> >After value initialization, the min and max would be the ones in j= son file (Json
> >file [3]). However, after commit [1] the min and max values of con= fig would
> >not be fed into the fan control process. The scaling issue is orig= inated from
> >commit [4] with the aim to treat fan rpm as percentage. It seems t= hat commit
> >[1] unexpectedly affects temp sensors in the sense that the temp i= s the
> >integer reading not percentage. Before commit [1], it would not re= -scale the
> >temp reading since my min and max are 0 [6].
> >
> >
> >
> >There is another issue with commit [1]. Now the fan rpm would be s= omething
> >like
> >
> >1500 / 20000 =3D 0.075
> >
> >where rpm max 20000 is from dbus. However the fan input function w= ould
> >transfer double into int, which is 0 for 0.075 (see [5]). Hence th= e fan input is 0
> >not percentage. Is there something wrong?
> >
> >[1] https://g= ithub.com/openbmc/phosphor-pid-
> >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c
> >[2] https://g= ithub.com/openbmc/phosphor-pid-
> >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontr= olle
> >r.cpp#L86
> >[3]
> >       {
> >           = "name": "fan1",
> >           = "type": "fan",
> >           = "readPath": "/sys/class/hwmon/hwmon1/fan1_input",
> >           = "writePath": "/sys/class/hwmon/hwmon1/pwm1",
> >           = "min": 0,
> >           = "max": 255
> >        },
> >        {
> >           = "name": "temp1",
> >           = "type": "temp",
> >           = "readPath": "/xyz/openbmc_project/sensors/temperature/temp1= ",
> >           = "writePath": "",
> >           = "min": 0,
> >           = "max": 0
> >        }
> >[4] https://g= ithub.com/openbmc/phosphor-pid-
> >control/commit/75eb769d351434547899186f73ff70ae00d7934a
> >[5] https://g= ithub.com/openbmc/phosphor-pid-
> >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontr= olle
> >r.cpp#L64
> >[6] https://g= ithub.com/openbmc/phosphor-pid-
> >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspas= si
> >ve.cpp#L158
> >
> >>
> >>>
> >>>
> >>> [1]
> >>> http= s://github.com/openbmc/phosphor-pid-
> >>control/commit/fc2e803f5d92569
> >>> 44e18c7c878a441606b1f121c
> >>>
> >>> [2]
> >>> http= s://github.com/openbmc/phosphor-pid-
> >>control/blob/a7ec8350d17b70153
> >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86
> >>>
> >>>
> >>> Thanks,
> >>>
> >>>
> >>> Hank Liou
> >>>
> >>> Quanta Computer Inc.
> >>>
> >>>
> >
> >Sincerely,
> >Hank
--_000_dbd75be40e2f4d41a5b621a5dc3b3df7quantatwcom_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::643; helo=mail-pl1-x643.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="mwUpynXy"; dkim-atps=neutral Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46RvVp6L3qzDqMG for ; Tue, 10 Sep 2019 02:58:10 +1000 (AEST) Received: by mail-pl1-x643.google.com with SMTP id x20so1169880plm.9 for ; Mon, 09 Sep 2019 09:58:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=CxskZYDqoSJ5Ov0MOA/ZIC3LR8Rt+T1pDr+qYw/j/jw=; b=mwUpynXyCwOLw7lS0YyQ8dy1ddKgYnpLJB7ethfkR1fhdhPW0uE83grR5CpacmH1nN c+AjMhP0B05rQuU0wYOQlkcv39Ccl5BPS1SwLimmoPA+m0OOSgGl7ziRVy30piXqViBw I3i5jRspQnwowv8Zhtf3UHPIKPQEL/H5AAcjEexVjN0v7Kn723ji7MkFFq4mQ8ks7n/h PkT8AzU6g14klq1qwwoG0sU0rCGTiVmeFR+/KnUc+vfQ5w1jrWlFnw5+8KpYLbU/Ru/U HZpju0SaaFhC7MCAObtlY5IS2NFQ02ub8XkqS8/zRgHna7iLdeLv7IvdOOJotXNyU/e1 zSiA== 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=CxskZYDqoSJ5Ov0MOA/ZIC3LR8Rt+T1pDr+qYw/j/jw=; b=RGBBDRHYlhQtD4AarOL3iP86vJLUJZxI7nLprL1NTAfbpxlG7V3y/8sQ/+4aqOrXUc uAOko1ycgZLDH9hVy+h9XVVmMU7YYZs9FLBtfJbWjH/zd1MHIq7BsGEu/gUH/alka18o WWPUXb7H2MYjs58xj7oOoKLkH/HnOk6qTizEKnYp0tumaaTKoUT9YUpdmdAjs5ZD0g4b SnGaf6NpJdnjs7Xh93+en0BpLp29MS5NBADzLTwVF4mQ4nyKfr1VirgVi2bb2jD+Qnjd Hfzp28KL1EcL4NygNOwxk9+KZtEXL7FBOVm8nxiNx1RPWCo/BrHUOjYe2Ge6zdpi5KEk BzcA== X-Gm-Message-State: APjAAAVOHbt79ZmnbXs1jiYgjT2cb3THIjxPQ/kGosh7Aqk54wJ3laEg BQittvJRkxy9el3vRW47erM/4G14bQfegB+lLghugA== X-Google-Smtp-Source: APXvYqxGgksIYLN1EByXcpeNdta6Z8gtPxeCPxIHZzWmmFsvEvfAjWlOpJN5d8nKP5uUTKRDHzwhtI9bVuX/pGPWVjc= X-Received: by 2002:a17:902:7296:: with SMTP id d22mr25000996pll.179.1568048287171; Mon, 09 Sep 2019 09:58:07 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> In-Reply-To: From: Patrick Venture Date: Mon, 9 Sep 2019 09:57:56 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2019 16:58:11 -0000 On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi Patrick, > > > Sorry for not clearly stating our problem. We have the following issue: > > > temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.57 as inp= ut for temp sensor -> > > stepwise fan table output 100 duty -> full speed fan Ok, so you're getting a dbus-based min/max value and you want to ignore it? In the json configuration, if you set the values to 0, they are set to the default (0), so there'd be no clean way to know to ignore dbus in this case, without adding a small check to only consider min/max from dbus when sensor is not temp/margin. Basically, only care about min/max on dbus if type is "fan" If that's right, James do you have a cycle to look at this one-liner? > > > As a result, fan will be at full speed while temp is low. Before the comm= it fc2e803 [1], this won't happen. The root cause is that, before fc2e803, = pid will use config min/max, which is 0 in our case. This would not trigger= scaling function, namely scaleSensorReading, in util.cpp. However, after s= uch commit, min/max would be non-zero (-128/127 from DBus). This will trigg= er scaling function. > > > [1] https://github.com/openbmc/phosphor-pid-control/commit/fc2e803f5d9256= 944e18c7c878a441606b1f121c > > > Hank > > > ________________________________ > From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > Sent: Monday, September 2, 2019 4:52 PM > To: Patrick Venture > Cc: James Feist; openbmc@lists.ozlabs.org > Subject: Re: [phosphor-pid-control] scaling issue > > > Hi Patrick, > > > Since we use phosphor-sel-logger [1] at the same time, we do assign min a= nd max of temp sensors to Dbus (max: 127, min: -128). So in the present cas= e, our temp value will be divided by 0.255 (also due to exponent is -3 here= ). This will cause re-scaling problem. Therefore there should be an stateme= nt to distinguish sensor types. If it is "temp", then one assigns 0 to the = min and max from Dbus. > > > [1] https://github.com/openbmc/phosphor-sel-logger/blob/3d300fca24b30864b= 3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 > > > Hank > > > ________________________________ > From: Patrick Venture > Sent: Friday, August 30, 2019 1:47 AM > To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > Cc: James Feist; openbmc@lists.ozlabs.org > Subject: Re: [phosphor-pid-control] scaling issue > > PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and > the srcrev bump should propagate into openbmc/openbmc in a day or two. > > On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) = wrote: > > > > Hi Patrick, > > > > I think it's OK to parse the config min&max for temp sensors. > > > > Any suggestion? > > > > Thanks, > > Hank > > > > >-----Original Message----- > > >From: openbmc [mailto:openbmc- > > >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Hank L= iou > > >(=E5=8A=89=E6=99=89=E7=BF=B0) > > >Sent: Friday, August 23, 2019 4:31 PM > > >To: Patrick Venture ; James Feist > > > > > >Cc: openbmc@lists.ozlabs.org > > >Subject: RE: [phosphor-pid-control] scaling issue > > > > > >Hi Patrick, > > > > > >>-----Original Message----- > > >>From: Patrick Venture [mailto:venture@google.com] > > >>Sent: Wednesday, August 21, 2019 10:32 PM > > >>To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ;= James Feist > > >> > > >>Cc: openbmc@lists.ozlabs.org > > >>Subject: Re: [phosphor-pid-control] scaling issue > > >> > > >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) > > >> wrote: > > >>> > > >>> Hi All, > > >>> > > >>> > > >>> After commit [1], I found my temp sensor reading would be re-scaled > > >>> by > > >>multiplying 1 over 255, making temperature into unfamiliar unit. Also > > >>the fan rpm reading would lie in [0,1] interval, letting the fan inpu= t > > >>to be 0 (since the input value of fan is from an integer array [2]). = Are these > > >normal behaviors? > > >>Or do I miss something? > > >> > > >>Are you using dbus configuration or json? If json, can you attach yo= ur config. > > >>Since you're saying it was working and now isn't, I'm assuming there'= s > > >>something about the config being treated differently with the code > > >>changes in an unexpected way. > > > > > >I found pid control will first read min and max from dbus and then (be= fore > > >commit [1]) revise them if > > > > > >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) > > > > > >After value initialization, the min and max would be the ones in json = file (Json > > >file [3]). However, after commit [1] the min and max values of config = would > > >not be fed into the fan control process. The scaling issue is originat= ed from > > >commit [4] with the aim to treat fan rpm as percentage. It seems that = commit > > >[1] unexpectedly affects temp sensors in the sense that the temp is th= e > > >integer reading not percentage. Before commit [1], it would not re-sca= le the > > >temp reading since my min and max are 0 [6]. > > > > > > > > > > > >There is another issue with commit [1]. Now the fan rpm would be somet= hing > > >like > > > > > >1500 / 20000 =3D 0.075 > > > > > >where rpm max 20000 is from dbus. However the fan input function would > > >transfer double into int, which is 0 for 0.075 (see [5]). Hence the fa= n input is 0 > > >not percentage. Is there something wrong? > > > > > >[1] https://github.com/openbmc/phosphor-pid- > > >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > > >[2] https://github.com/openbmc/phosphor-pid- > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle > > >r.cpp#L86 > > >[3] > > > { > > > "name": "fan1", > > > "type": "fan", > > > "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > > > "writePath": "/sys/class/hwmon/hwmon1/pwm1", > > > "min": 0, > > > "max": 255 > > > }, > > > { > > > "name": "temp1", > > > "type": "temp", > > > "readPath": "/xyz/openbmc_project/sensors/temperature/temp= 1", > > > "writePath": "", > > > "min": 0, > > > "max": 0 > > > } > > >[4] https://github.com/openbmc/phosphor-pid- > > >control/commit/75eb769d351434547899186f73ff70ae00d7934a > > >[5] https://github.com/openbmc/phosphor-pid- > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle > > >r.cpp#L64 > > >[6] https://github.com/openbmc/phosphor-pid- > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi > > >ve.cpp#L158 > > > > > >> > > >>> > > >>> > > >>> [1] > > >>> https://github.com/openbmc/phosphor-pid- > > >>control/commit/fc2e803f5d92569 > > >>> 44e18c7c878a441606b1f121c > > >>> > > >>> [2] > > >>> https://github.com/openbmc/phosphor-pid- > > >>control/blob/a7ec8350d17b70153 > > >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > > >>> > > >>> > > >>> Thanks, > > >>> > > >>> > > >>> Hank Liou > > >>> > > >>> Quanta Computer Inc. > > >>> > > >>> > > > > > >Sincerely, > > >Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::d42; helo=mail-io1-xd42.google.com; envelope-from=kunyi@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="hmgdIhSt"; dkim-atps=neutral Received: from mail-io1-xd42.google.com (mail-io1-xd42.google.com [IPv6:2607:f8b0:4864:20::d42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46RvqB3LfbzDqPg for ; Tue, 10 Sep 2019 03:12:19 +1000 (AEST) Received: by mail-io1-xd42.google.com with SMTP id d17so8576646ios.13 for ; Mon, 09 Sep 2019 10:12:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5WVz1ceNHy1+bGN8a0abpGAxXaKxBcTgUxPLwZ56Owk=; b=hmgdIhStQ8l9kwc9L+2I5dKyS3D7M6I0UydEi+a3DTHKyfD+F1bviQ81Sz56JLuM3y iV2ZawQAxsldO0Mlj5ux/bISmDwl9bkxXeAg2VkY8mz6zypz+tJMVWnsf5oNRMNchUpX RUuA3//hbGR17ssLwyaIKAu+ZwXHDgvxXd1qgCrWRp6ZiwxsYPMYnEy38U2imQORNDdI awkwGNGiaHqlNpBYLdq8Vma71PBD3srJ6LIiicrj5VH+hSzQ2kQLd+NTTz/aeejvyExL 5UzM040TIgYBwsxyDu4gEC+RrIRQ0tFL86eUNBBD7clS7AS5qoZxQeI5OIpE9XlwF0rx RC+g== 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=5WVz1ceNHy1+bGN8a0abpGAxXaKxBcTgUxPLwZ56Owk=; b=NoX+1CsooolN91zMvhTrvQC/S+PDYCKr/1D9/PrCKNyFnYYFZFJpa5RMaBVbsLnyrg 0PWbs87QV+ogHz8hE6j8PtpmUjyAHimf9V/gstnbSSQ53+3in6KBOqs3mzns7M6CY9se xH3RhS8msupN6qf5L0q5sfF7Y2Ri9KFJ8XXx9FzBLFP4Uw60B1mZ0Wg/C37RgkZ31fe7 eZcGtmvBzWXXhtLwiP3jfzhJJLVwILBN5+66+HmLTvVcL29sHDQieHpry0ZmVWWlXuJF y7seHKY48juIEtxOrq5cGlBk7QVG/oyUtT5yLGUX8cV3rghUOwpeUnZVbNy1MPc+nB6+ 5fhQ== X-Gm-Message-State: APjAAAWcop3JSJIjl/RAKLXgqFHB1noznyqeffYVdubFmU/eDDnMbShl ridFdc4T1L/UEv0CnXbZsnREaRWwtj9L/nre4rbz3A== X-Google-Smtp-Source: APXvYqy3bngDcU23a5GSocE96e3Nqt2aIVyzrt/SM8O82eQ52/lK5qBNLbNh908WvJd9ey/wEpaSsyntRppRrmOR0oI= X-Received: by 2002:a5e:8d14:: with SMTP id m20mr28185770ioj.52.1568049135734; Mon, 09 Sep 2019 10:12:15 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> In-Reply-To: From: Kun Yi Date: Mon, 9 Sep 2019 10:11:47 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: Patrick Venture Cc: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= , "openbmc@lists.ozlabs.org" , James Feist Content-Type: multipart/alternative; boundary="000000000000ba553f059221e327" X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2019 17:12:23 -0000 --000000000000ba553f059221e327 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sorry about the regression issue, Hank. IIRC I proposed to have separate groups of min/max values in D-Bus and json files since they convey different semantics. At the end the min/max value was merged in the current way, because the assumption that min/max values in json is only used for fan pwm and nothing else -- which obviously is not true now. Should we revisit the approach? Having something like 'fanPwmScale' as a separate config param is a cleaner approach in my opinion. On Mon, Sep 9, 2019 at 9:59 AM Patrick Venture wrote: > On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) <= Hank.Liou@quantatw.com> > wrote: > > > > Hi Patrick, > > > > > > Sorry for not clearly stating our problem. We have the following issue: > > > > > > temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.57 as > input for temp sensor -> > > > > stepwise fan table output 100 duty -> full speed fan > > Ok, so you're getting a dbus-based min/max value and you want to > ignore it? In the json configuration, if you set the values to 0, > they are set to the default (0), so there'd be no clean way to know to > ignore dbus in this case, without adding a small check to only > consider min/max from dbus when sensor is not temp/margin. Basically, > only care about min/max on dbus if type is "fan" > > If that's right, James do you have a cycle to look at this one-liner? > > > > > > > As a result, fan will be at full speed while temp is low. Before the > commit fc2e803 [1], this won't happen. The root cause is that, before > fc2e803, pid will use config min/max, which is 0 in our case. This would > not trigger scaling function, namely scaleSensorReading, in util.cpp. > However, after such commit, min/max would be non-zero (-128/127 from DBus= ). > This will trigger scaling function. > > > > > > [1] > https://github.com/openbmc/phosphor-pid-control/commit/fc2e803f5d9256944e= 18c7c878a441606b1f121c > > > > > > Hank > > > > > > ________________________________ > > From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > > Sent: Monday, September 2, 2019 4:52 PM > > To: Patrick Venture > > Cc: James Feist; openbmc@lists.ozlabs.org > > Subject: Re: [phosphor-pid-control] scaling issue > > > > > > Hi Patrick, > > > > > > Since we use phosphor-sel-logger [1] at the same time, we do assign min > and max of temp sensors to Dbus (max: 127, min: -128). So in the present > case, our temp value will be divided by 0.255 (also due to exponent is -3 > here). This will cause re-scaling problem. Therefore there should be an > statement to distinguish sensor types. If it is "temp", then one assigns = 0 > to the min and max from Dbus. > > > > > > [1] > https://github.com/openbmc/phosphor-sel-logger/blob/3d300fca24b30864b3e9a= 4f5768cfe5e769458ae/include/sensorutils.hpp#L59 > > > > > > Hank > > > > > > ________________________________ > > From: Patrick Venture > > Sent: Friday, August 30, 2019 1:47 AM > > To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > > Cc: James Feist; openbmc@lists.ozlabs.org > > Subject: Re: [phosphor-pid-control] scaling issue > > > > PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and > > the srcrev bump should propagate into openbmc/openbmc in a day or two. > > > > On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0= ) > wrote: > > > > > > Hi Patrick, > > > > > > I think it's OK to parse the config min&max for temp sensors. > > > > > > Any suggestion? > > > > > > Thanks, > > > Hank > > > > > > >-----Original Message----- > > > >From: openbmc [mailto:openbmc- > > > >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Hank > Liou > > > >(=E5=8A=89=E6=99=89=E7=BF=B0) > > > >Sent: Friday, August 23, 2019 4:31 PM > > > >To: Patrick Venture ; James Feist > > > > > > > >Cc: openbmc@lists.ozlabs.org > > > >Subject: RE: [phosphor-pid-control] scaling issue > > > > > > > >Hi Patrick, > > > > > > > >>-----Original Message----- > > > >>From: Patrick Venture [mailto:venture@google.com] > > > >>Sent: Wednesday, August 21, 2019 10:32 PM > > > >>To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; James Feist > > > >> > > > >>Cc: openbmc@lists.ozlabs.org > > > >>Subject: Re: [phosphor-pid-control] scaling issue > > > >> > > > >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) > > > >> wrote: > > > >>> > > > >>> Hi All, > > > >>> > > > >>> > > > >>> After commit [1], I found my temp sensor reading would be re-scal= ed > > > >>> by > > > >>multiplying 1 over 255, making temperature into unfamiliar unit. Al= so > > > >>the fan rpm reading would lie in [0,1] interval, letting the fan > input > > > >>to be 0 (since the input value of fan is from an integer array [2])= . > Are these > > > >normal behaviors? > > > >>Or do I miss something? > > > >> > > > >>Are you using dbus configuration or json? If json, can you attach > your config. > > > >>Since you're saying it was working and now isn't, I'm assuming > there's > > > >>something about the config being treated differently with the code > > > >>changes in an unexpected way. > > > > > > > >I found pid control will first read min and max from dbus and then > (before > > > >commit [1]) revise them if > > > > > > > >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) > > > > > > > >After value initialization, the min and max would be the ones in jso= n > file (Json > > > >file [3]). However, after commit [1] the min and max values of confi= g > would > > > >not be fed into the fan control process. The scaling issue is > originated from > > > >commit [4] with the aim to treat fan rpm as percentage. It seems tha= t > commit > > > >[1] unexpectedly affects temp sensors in the sense that the temp is > the > > > >integer reading not percentage. Before commit [1], it would not > re-scale the > > > >temp reading since my min and max are 0 [6]. > > > > > > > > > > > > > > > >There is another issue with commit [1]. Now the fan rpm would be > something > > > >like > > > > > > > >1500 / 20000 =3D 0.075 > > > > > > > >where rpm max 20000 is from dbus. However the fan input function wou= ld > > > >transfer double into int, which is 0 for 0.075 (see [5]). Hence the > fan input is 0 > > > >not percentage. Is there something wrong? > > > > > > > >[1] https://github.com/openbmc/phosphor-pid- > > > >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > > > >[2] https://github.com/openbmc/phosphor-pid- > > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrol= le > > > >r.cpp#L86 > > > >[3] > > > > { > > > > "name": "fan1", > > > > "type": "fan", > > > > "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > > > > "writePath": "/sys/class/hwmon/hwmon1/pwm1", > > > > "min": 0, > > > > "max": 255 > > > > }, > > > > { > > > > "name": "temp1", > > > > "type": "temp", > > > > "readPath": > "/xyz/openbmc_project/sensors/temperature/temp1", > > > > "writePath": "", > > > > "min": 0, > > > > "max": 0 > > > > } > > > >[4] https://github.com/openbmc/phosphor-pid- > > > >control/commit/75eb769d351434547899186f73ff70ae00d7934a > > > >[5] https://github.com/openbmc/phosphor-pid- > > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrol= le > > > >r.cpp#L64 > > > >[6] https://github.com/openbmc/phosphor-pid- > > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi > > > >ve.cpp#L158 > > > > > > > >> > > > >>> > > > >>> > > > >>> [1] > > > >>> https://github.com/openbmc/phosphor-pid- > > > >>control/commit/fc2e803f5d92569 > > > >>> 44e18c7c878a441606b1f121c > > > >>> > > > >>> [2] > > > >>> https://github.com/openbmc/phosphor-pid- > > > >>control/blob/a7ec8350d17b70153 > > > >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > > > >>> > > > >>> > > > >>> Thanks, > > > >>> > > > >>> > > > >>> Hank Liou > > > >>> > > > >>> Quanta Computer Inc. > > > >>> > > > >>> > > > > > > > >Sincerely, > > > >Hank > --=20 Regards, Kun --000000000000ba553f059221e327 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Sorry about the regression issue, Hank.
IIRC I p= roposed to have separate groups of min/max values in D-Bus and json files s= ince they convey different semantics.
At the end the min/max value was merged in the current way,<= /font>=C2=A0because the assumption that min/max values in json is only used= for fan pwm and nothing else -- which obviously is not true now.
Should= we revisit the approach? Having something like 'fanPwmScale' as a = separate config param is a cleaner approach in my=C2=A0opinion.
=
On Mon= , Sep 9, 2019 at 9:59 AM Patrick Venture <venture@google.com> wrote:
On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A= =89=E6=99=89=E7=BF=B0) <Hank.Liou@quantatw.com> wrote:
>
> Hi Patrick,
>
>
> Sorry for not clearly stating our problem. We have the following issue= :
>
>
> temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.= 57 as input for temp sensor ->
>
> stepwise fan table output 100 duty -> full speed fan

Ok, so you're getting a dbus-based min/max value and you want to
ignore it?=C2=A0 In the json configuration, if you set the values to 0,
they are set to the default (0), so there'd be no clean way to know to<= br> ignore dbus in this case, without adding a small check to only
consider min/max from dbus when sensor is not temp/margin.=C2=A0 Basically,=
only care about min/max on dbus if type is "fan"

If that's right, James do you have a cycle to look at this one-liner?
>
>
> As a result, fan will be at full speed while temp is low. Before the c= ommit fc2e803 [1], this won't happen. The root cause is that, before fc= 2e803, pid will use config min/max, which is 0 in our case. This would not = trigger scaling function, namely scaleSensorReading, in util.cpp. However, = after such commit, min/max would be non-zero (-128/127 from DBus). This wil= l trigger scaling function.
>
>
> [1] https://github.com/openbmc/phosphor-pid-control/commit/fc2e803f5d925694= 4e18c7c878a441606b1f121c
>
>
> Hank
>
>
> ________________________________
> From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0)
> Sent: Monday, September 2, 2019 4:52 PM
> To: Patrick Venture
> Cc: James Feist; openbmc@lists.ozlabs.org
> Subject: Re: [phosphor-pid-control] scaling issue
>
>
> Hi Patrick,
>
>
> Since we use phosphor-sel-logger [1] at the same time, we do assign mi= n and max of temp sensors to Dbus (max: 127, min: -128). So in the present = case, our temp value will be divided by 0.255 (also due to exponent is -3 h= ere). This will cause re-scaling problem. Therefore there should be an stat= ement to distinguish sensor types. If it is "temp", then one assi= gns 0 to the min and max from Dbus.
>
>
> [1] https://github.com/openbmc/phosphor-sel-logger= /blob/3d300fca24b30864b3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59<= /a>
>
>
> Hank
>
>
> ________________________________
> From: Patrick Venture <
venture@google.com>
> Sent: Friday, August 30, 2019 1:47 AM
> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0)
> Cc: James Feist; openbmc@lists.ozlabs.org
> Subject: Re: [phosphor-pid-control] scaling issue
>
> PTAL - https://gerrit.openbmc-project.xyz/24827 - t= his is merged, and
> the srcrev bump should propagate into openbmc/openbmc in a day or two.=
>
> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) <Hank.L= iou@quantatw.com> wrote:
> >
> > Hi Patrick,
> >
> > I think it's OK to parse the config min&max for temp sens= ors.
> >
> > Any suggestion?
> >
> > Thanks,
> > Hank
> >
> > >-----Original Message-----
> > >From: openbmc [mailto:openbmc-
> > >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of H= ank Liou
> > >(=E5=8A=89=E6=99=89=E7=BF=B0)
> > >Sent: Friday, August 23, 2019 4:31 PM
> > >To: Patrick Venture <venture@google.com>; James Feist
> > ><james.feist@linux.intel.com>
> > >Cc: openbmc@lists.ozlabs.org
> > >Subject: RE: [phosphor-pid-control] scaling issue
> > >
> > >Hi Patrick,
> > >
> > >>-----Original Message-----
> > >>From: Patrick Venture [mailto:venture@google.com]
> > >>Sent: Wednesday, August 21, 2019 10:32 PM
> > >>To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) <Hank.Liou@quantatw.com= >; James Feist
> > >><james.feist@linux.intel.com>
> > >>Cc: openbmc@lists.ozlabs.org
> > >>Subject: Re: [phosphor-pid-control] scaling issue
> > >>
> > >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6= =99=89=E7=BF=B0)
> > >><Hank.Liou@quantatw.com> wrote:
> > >>>
> > >>> Hi All,
> > >>>
> > >>>
> > >>> After commit [1], I found my temp sensor reading wou= ld be re-scaled
> > >>> by
> > >>multiplying 1 over 255, making temperature into unfamilia= r unit. Also
> > >>the fan rpm reading would lie in [0,1] interval, letting = the fan input
> > >>to be 0 (since the input value of fan is from an integer = array [2]). Are these
> > >normal behaviors?
> > >>Or do I miss something?
> > >>
> > >>Are you using dbus configuration or json?=C2=A0 If json, = can you attach your config.
> > >>Since you're saying it was working and now isn't,= I'm assuming there's
> > >>something about the config being treated differently with= the code
> > >>changes in an unexpected way.
> > >
> > >I found pid control will first read min and max from dbus and= then (before
> > >commit [1]) revise them if
> > >
> > >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspas= sive.cpp)
> > >
> > >After value initialization, the min and max would be the ones= in json file (Json
> > >file [3]). However, after commit [1] the min and max values o= f config would
> > >not be fed into the fan control process. The scaling issue is= originated from
> > >commit [4] with the aim to treat fan rpm as percentage. It se= ems that commit
> > >[1] unexpectedly affects temp sensors in the sense that the t= emp is the
> > >integer reading not percentage. Before commit [1], it would n= ot re-scale the
> > >temp reading since my min and max are 0 [6].
> > >
> > >
> > >
> > >There is another issue with commit [1]. Now the fan rpm would= be something
> > >like
> > >
> > >1500 / 20000 =3D 0.075
> > >
> > >where rpm max 20000 is from dbus. However the fan input funct= ion would
> > >transfer double into int, which is 0 for 0.075 (see [5]). Hen= ce the fan input is 0
> > >not percentage. Is there something wrong?
> > >
> > >[1] https://github.com/openbmc/phosphor-pid-<= /a>
> > >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c
> > >[2]
https://github.com/openbmc/phosphor-pid-<= /a>
> > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fan= controlle
> > >r.cpp#L86
> > >[3]
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0{
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "name": &= quot;fan1",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "type": &= quot;fan",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "readPath"= ;: "/sys/class/hwmon/hwmon1/fan1_input",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "writePath&quo= t;: "/sys/class/hwmon/hwmon1/pwm1",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "min": 0,=
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "max": 25= 5
> > >=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 "name": &= quot;temp1",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "type": &= quot;temp",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "readPath"= ;: "/xyz/openbmc_project/sensors/temperature/temp1",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "writePath&quo= t;: "",
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "min": 0,=
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "max": 0<= br> > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
> > >[4]
https://github.com/openbmc/phosphor-pid-<= /a>
> > >control/commit/75eb769d351434547899186f73ff70ae00d7934a
> > >[5]
https://github.com/openbmc/phosphor-pid-<= /a>
> > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fan= controlle
> > >r.cpp#L64
> > >[6]
https://github.com/openbmc/phosphor-pid-<= /a>
> > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/db= uspassi
> > >ve.cpp#L158
> > >
> > >>
> > >>>
> > >>>
> > >>> [1]
> > >>>
https://github.com/openbmc/phosphor-p= id-
> > >>control/commit/fc2e803f5d92569
> > >>> 44e18c7c878a441606b1f121c
> > >>>
> > >>> [2]
> > >>> https://github.com/openbmc/phosphor-p= id-
> > >>control/blob/a7ec8350d17b70153
> > >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > > >>>
> > >>>
> > >>> Thanks,
> > >>>
> > >>>
> > >>> Hank Liou
> > >>>
> > >>> Quanta Computer Inc.
> > >>>
> > >>>
> > >
> > >Sincerely,
> > >Hank


--
Regards,
Kun
--000000000000ba553f059221e327-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::441; helo=mail-pf1-x441.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="CXkyuZwN"; dkim-atps=neutral Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46Rw4t0t51zDqLW for ; Tue, 10 Sep 2019 03:24:13 +1000 (AEST) Received: by mail-pf1-x441.google.com with SMTP id y22so9587709pfr.3 for ; Mon, 09 Sep 2019 10:24:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=rib0SP+APdhS5qIqKziiYhd2VqEDI1oDOSZrK15+mlY=; b=CXkyuZwNjw9IY/qOnfKDbcp9p6iqAYaXgFuYYAvwftxLnEMYFsg/4ZCh+7UyqkvVuE +x4i2yV+MHVFM1omocdrxzz3qnNHsEOFATiJuRH+tO1BAKRb3/9c69OUZIkTGM08L6vd DBWo894xfHX312bGdd5VOfD5sDqSm8A1STopnNNK/PYUBvasEj+qxKf2uB2glnbAA1AC bzguBEJuKI6prOU5Mav4f4QGZ2k24viwmPy/yKSG2prZuHdwKieUV9HXcXkyaZrp/m1p vQ3vYAZq9Qx92r8t8/sd41oZzoCE3HDGDxI3KXsexN0yOfL/lq67ljsyJAcDiu78WZMk 5pLg== 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=rib0SP+APdhS5qIqKziiYhd2VqEDI1oDOSZrK15+mlY=; b=LUsljnUHql+LKGX8861GFIJPkHA9wEJ7/fq5SRx6ntEs3ptl2mPGT7FnRg4PEOqj+8 TTqdRjeI6TWxzILcudSipkRFHC/0qy8PKO03TDT3nUflgGzRbsuz8IfoSamgM37p8rNS dY/nIuXPwU7NoocFsUFw1cwFhRLk/7oJ3zkgKGOcK1sOM0JCWZi9l70Rgulccydl51F/ DQSQ9fInf94ILHlg7BX/7CjoKA+mR0SsTD/WTSqPWBA2VcPr5AI9mYlEOp/x+CqvCAw4 wJy9qu2DpPz7+2ZAYpnmdO2IVFbP/fAed3xwWbSHzaP1sDnz+p2XCOYLBDTB31pyVqlC G0og== X-Gm-Message-State: APjAAAWfQmIFQVuaV7P4IiHiPrG4OSban1901qbbYVW1jcy9TdFy2n4N f14F0TI8A6pF6yMjWxl3BTOyLjxQhQdwQm7DIKDcoQ== X-Google-Smtp-Source: APXvYqzV5EtF4/4tKSyXEvFoYZMrAeiFNvT42hqwA4yN1zCqsj/c8Igp/9iUSMX9GZCik7tJzT0b1o2vN1lejZGvM68= X-Received: by 2002:a65:6288:: with SMTP id f8mr22325125pgv.292.1568049850608; Mon, 09 Sep 2019 10:24:10 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> In-Reply-To: From: Patrick Venture Date: Mon, 9 Sep 2019 10:23:59 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: Kun Yi Cc: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= , "openbmc@lists.ozlabs.org" , James Feist Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2019 17:24:15 -0000 On Mon, Sep 9, 2019 at 10:12 AM Kun Yi wrote: > > Sorry about the regression issue, Hank. > IIRC I proposed to have separate groups of min/max values in D-Bus and js= on files since they convey different semantics. > At the end the min/max value was merged in the current way, because the a= ssumption that min/max values in json is only used for fan pwm and nothing = else -- which obviously is not true now. > Should we revisit the approach? Having something like 'fanPwmScale' as a = separate config param is a cleaner approach in my opinion. Kun, it was my understanding that the issue they're seeing is that they're reading min/max from dbus. But maybe I have if flipped. I disagree that fanPwmScale is cleaner because it's now specific to fan pwm. In theory, using min/max could have some future purpose. Perhaps minWrite/maxWrite would be more ... separate. However, I think the issue seen is unrelated. > > On Mon, Sep 9, 2019 at 9:59 AM Patrick Venture wrote= : >> >> On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) = wrote: >> > >> > Hi Patrick, >> > >> > >> > Sorry for not clearly stating our problem. We have the following issue= : >> > >> > >> > temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.57 as = input for temp sensor -> >> > >> > stepwise fan table output 100 duty -> full speed fan >> >> Ok, so you're getting a dbus-based min/max value and you want to >> ignore it? In the json configuration, if you set the values to 0, >> they are set to the default (0), so there'd be no clean way to know to >> ignore dbus in this case, without adding a small check to only >> consider min/max from dbus when sensor is not temp/margin. Basically, >> only care about min/max on dbus if type is "fan" >> >> If that's right, James do you have a cycle to look at this one-liner? >> >> > >> > >> > As a result, fan will be at full speed while temp is low. Before the c= ommit fc2e803 [1], this won't happen. The root cause is that, before fc2e80= 3, pid will use config min/max, which is 0 in our case. This would not trig= ger scaling function, namely scaleSensorReading, in util.cpp. However, afte= r such commit, min/max would be non-zero (-128/127 from DBus). This will tr= igger scaling function. >> > >> > >> > [1] https://github.com/openbmc/phosphor-pid-control/commit/fc2e803f5d9= 256944e18c7c878a441606b1f121c >> > >> > >> > Hank >> > >> > >> > ________________________________ >> > From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) >> > Sent: Monday, September 2, 2019 4:52 PM >> > To: Patrick Venture >> > Cc: James Feist; openbmc@lists.ozlabs.org >> > Subject: Re: [phosphor-pid-control] scaling issue >> > >> > >> > Hi Patrick, >> > >> > >> > Since we use phosphor-sel-logger [1] at the same time, we do assign mi= n and max of temp sensors to Dbus (max: 127, min: -128). So in the present = case, our temp value will be divided by 0.255 (also due to exponent is -3 h= ere). This will cause re-scaling problem. Therefore there should be an stat= ement to distinguish sensor types. If it is "temp", then one assigns 0 to t= he min and max from Dbus. >> > >> > >> > [1] https://github.com/openbmc/phosphor-sel-logger/blob/3d300fca24b308= 64b3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 >> > >> > >> > Hank >> > >> > >> > ________________________________ >> > From: Patrick Venture >> > Sent: Friday, August 30, 2019 1:47 AM >> > To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) >> > Cc: James Feist; openbmc@lists.ozlabs.org >> > Subject: Re: [phosphor-pid-control] scaling issue >> > >> > PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and >> > the srcrev bump should propagate into openbmc/openbmc in a day or two. >> > >> > On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) wrote: >> > > >> > > Hi Patrick, >> > > >> > > I think it's OK to parse the config min&max for temp sensors. >> > > >> > > Any suggestion? >> > > >> > > Thanks, >> > > Hank >> > > >> > > >-----Original Message----- >> > > >From: openbmc [mailto:openbmc- >> > > >bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Han= k Liou >> > > >(=E5=8A=89=E6=99=89=E7=BF=B0) >> > > >Sent: Friday, August 23, 2019 4:31 PM >> > > >To: Patrick Venture ; James Feist >> > > > >> > > >Cc: openbmc@lists.ozlabs.org >> > > >Subject: RE: [phosphor-pid-control] scaling issue >> > > > >> > > >Hi Patrick, >> > > > >> > > >>-----Original Message----- >> > > >>From: Patrick Venture [mailto:venture@google.com] >> > > >>Sent: Wednesday, August 21, 2019 10:32 PM >> > > >>To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; James Feist >> > > >> >> > > >>Cc: openbmc@lists.ozlabs.org >> > > >>Subject: Re: [phosphor-pid-control] scaling issue >> > > >> >> > > >>On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7= =BF=B0) >> > > >> wrote: >> > > >>> >> > > >>> Hi All, >> > > >>> >> > > >>> >> > > >>> After commit [1], I found my temp sensor reading would be re-sca= led >> > > >>> by >> > > >>multiplying 1 over 255, making temperature into unfamiliar unit. A= lso >> > > >>the fan rpm reading would lie in [0,1] interval, letting the fan i= nput >> > > >>to be 0 (since the input value of fan is from an integer array [2]= ). Are these >> > > >normal behaviors? >> > > >>Or do I miss something? >> > > >> >> > > >>Are you using dbus configuration or json? If json, can you attach= your config. >> > > >>Since you're saying it was working and now isn't, I'm assuming the= re's >> > > >>something about the config being treated differently with the code >> > > >>changes in an unexpected way. >> > > > >> > > >I found pid control will first read min and max from dbus and then = (before >> > > >commit [1]) revise them if >> > > > >> > > >info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) >> > > > >> > > >After value initialization, the min and max would be the ones in js= on file (Json >> > > >file [3]). However, after commit [1] the min and max values of conf= ig would >> > > >not be fed into the fan control process. The scaling issue is origi= nated from >> > > >commit [4] with the aim to treat fan rpm as percentage. It seems th= at commit >> > > >[1] unexpectedly affects temp sensors in the sense that the temp is= the >> > > >integer reading not percentage. Before commit [1], it would not re-= scale the >> > > >temp reading since my min and max are 0 [6]. >> > > > >> > > > >> > > > >> > > >There is another issue with commit [1]. Now the fan rpm would be so= mething >> > > >like >> > > > >> > > >1500 / 20000 =3D 0.075 >> > > > >> > > >where rpm max 20000 is from dbus. However the fan input function wo= uld >> > > >transfer double into int, which is 0 for 0.075 (see [5]). Hence the= fan input is 0 >> > > >not percentage. Is there something wrong? >> > > > >> > > >[1] https://github.com/openbmc/phosphor-pid- >> > > >control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c >> > > >[2] https://github.com/openbmc/phosphor-pid- >> > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro= lle >> > > >r.cpp#L86 >> > > >[3] >> > > > { >> > > > "name": "fan1", >> > > > "type": "fan", >> > > > "readPath": "/sys/class/hwmon/hwmon1/fan1_input", >> > > > "writePath": "/sys/class/hwmon/hwmon1/pwm1", >> > > > "min": 0, >> > > > "max": 255 >> > > > }, >> > > > { >> > > > "name": "temp1", >> > > > "type": "temp", >> > > > "readPath": "/xyz/openbmc_project/sensors/temperature/t= emp1", >> > > > "writePath": "", >> > > > "min": 0, >> > > > "max": 0 >> > > > } >> > > >[4] https://github.com/openbmc/phosphor-pid- >> > > >control/commit/75eb769d351434547899186f73ff70ae00d7934a >> > > >[5] https://github.com/openbmc/phosphor-pid- >> > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro= lle >> > > >r.cpp#L64 >> > > >[6] https://github.com/openbmc/phosphor-pid- >> > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspass= i >> > > >ve.cpp#L158 >> > > > >> > > >> >> > > >>> >> > > >>> >> > > >>> [1] >> > > >>> https://github.com/openbmc/phosphor-pid- >> > > >>control/commit/fc2e803f5d92569 >> > > >>> 44e18c7c878a441606b1f121c >> > > >>> >> > > >>> [2] >> > > >>> https://github.com/openbmc/phosphor-pid- >> > > >>control/blob/a7ec8350d17b70153 >> > > >>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 >> > > >>> >> > > >>> >> > > >>> Thanks, >> > > >>> >> > > >>> >> > > >>> Hank Liou >> > > >>> >> > > >>> Quanta Computer Inc. >> > > >>> >> > > >>> >> > > > >> > > >Sincerely, >> > > >Hank > > > > -- > Regards, > Kun From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=none (mailfrom) smtp.mailfrom=linux.intel.com (client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=james.feist@linux.intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.intel.com Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46Rw8J0ZvMzDqLW for ; Tue, 10 Sep 2019 03:27:11 +1000 (AEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Sep 2019 10:27:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,486,1559545200"; d="scan'208";a="189088576" Received: from skyhawk.jf.intel.com (HELO [10.54.51.81]) ([10.54.51.81]) by orsmga006.jf.intel.com with ESMTP; 09 Sep 2019 10:27:08 -0700 Subject: Re: [phosphor-pid-control] scaling issue To: Patrick Venture , =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: "openbmc@lists.ozlabs.org" References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> From: James Feist Message-ID: Date: Mon, 9 Sep 2019 10:27:08 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2019 17:27:13 -0000 On 9/9/19 9:57 AM, Patrick Venture wrote: > On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (劉晉翰) wrote: >> >> Hi Patrick, >> >> >> Sorry for not clearly stating our problem. We have the following issue: >> >> >> temp sensor gets 31(C) -> 31 / 0.255 = 121.57 -> pid uses 127.57 as input for temp sensor -> >> >> stepwise fan table output 100 duty -> full speed fan > > Ok, so you're getting a dbus-based min/max value and you want to > ignore it? What is providing the dbus-based min/max? > In the json configuration, if you set the values to 0, > they are set to the default (0), so there'd be no clean way to know to > ignore dbus in this case, without adding a small check to only > consider min/max from dbus when sensor is not temp/margin. Basically, > only care about min/max on dbus if type is "fan" Why is the dbus-based min/max even there if you don't plan on using it? > > If that's right, James do you have a cycle to look at this one-liner? > >> >> >> As a result, fan will be at full speed while temp is low. Before the commit fc2e803 [1], this won't happen. The root cause is that, before fc2e803, pid will use config min/max, which is 0 in our case. This would not trigger scaling function, namely scaleSensorReading, in util.cpp. However, after such commit, min/max would be non-zero (-128/127 from DBus). This will trigger scaling function. >> >> >> [1] https://github.com/openbmc/phosphor-pid-control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c >> >> >> Hank >> >> >> ________________________________ >> From: Hank Liou (劉晉翰) >> Sent: Monday, September 2, 2019 4:52 PM >> To: Patrick Venture >> Cc: James Feist; openbmc@lists.ozlabs.org >> Subject: Re: [phosphor-pid-control] scaling issue >> >> >> Hi Patrick, >> >> >> Since we use phosphor-sel-logger [1] at the same time, we do assign min and max of temp sensors to Dbus (max: 127, min: -128). So in the present case, our temp value will be divided by 0.255 (also due to exponent is -3 here). This will cause re-scaling problem. Therefore there should be an statement to distinguish sensor types. If it is "temp", then one assigns 0 to the min and max from Dbus. >> >> >> [1] https://github.com/openbmc/phosphor-sel-logger/blob/3d300fca24b30864b3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 >> >> >> Hank >> >> >> ________________________________ >> From: Patrick Venture >> Sent: Friday, August 30, 2019 1:47 AM >> To: Hank Liou (劉晉翰) >> Cc: James Feist; openbmc@lists.ozlabs.org >> Subject: Re: [phosphor-pid-control] scaling issue >> >> PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and >> the srcrev bump should propagate into openbmc/openbmc in a day or two. >> >> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (劉晉翰) wrote: >>> >>> Hi Patrick, >>> >>> I think it's OK to parse the config min&max for temp sensors. >>> >>> Any suggestion? >>> >>> Thanks, >>> Hank >>> >>>> -----Original Message----- >>>> From: openbmc [mailto:openbmc- >>>> bounces+hank.liou=quantatw.com@lists.ozlabs.org] On Behalf Of Hank Liou >>>> (劉晉翰) >>>> Sent: Friday, August 23, 2019 4:31 PM >>>> To: Patrick Venture ; James Feist >>>> >>>> Cc: openbmc@lists.ozlabs.org >>>> Subject: RE: [phosphor-pid-control] scaling issue >>>> >>>> Hi Patrick, >>>> >>>>> -----Original Message----- >>>>> From: Patrick Venture [mailto:venture@google.com] >>>>> Sent: Wednesday, August 21, 2019 10:32 PM >>>>> To: Hank Liou (劉晉翰) ; James Feist >>>>> >>>>> Cc: openbmc@lists.ozlabs.org >>>>> Subject: Re: [phosphor-pid-control] scaling issue >>>>> >>>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (劉晉翰) >>>>> wrote: >>>>>> >>>>>> Hi All, >>>>>> >>>>>> >>>>>> After commit [1], I found my temp sensor reading would be re-scaled >>>>>> by >>>>> multiplying 1 over 255, making temperature into unfamiliar unit. Also >>>>> the fan rpm reading would lie in [0,1] interval, letting the fan input >>>>> to be 0 (since the input value of fan is from an integer array [2]). Are these >>>> normal behaviors? >>>>> Or do I miss something? >>>>> >>>>> Are you using dbus configuration or json? If json, can you attach your config. >>>>> Since you're saying it was working and now isn't, I'm assuming there's >>>>> something about the config being treated differently with the code >>>>> changes in an unexpected way. >>>> >>>> I found pid control will first read min and max from dbus and then (before >>>> commit [1]) revise them if >>>> >>>> info->min != conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) >>>> >>>> After value initialization, the min and max would be the ones in json file (Json >>>> file [3]). However, after commit [1] the min and max values of config would >>>> not be fed into the fan control process. The scaling issue is originated from >>>> commit [4] with the aim to treat fan rpm as percentage. It seems that commit >>>> [1] unexpectedly affects temp sensors in the sense that the temp is the >>>> integer reading not percentage. Before commit [1], it would not re-scale the >>>> temp reading since my min and max are 0 [6]. >>>> >>>> >>>> >>>> There is another issue with commit [1]. Now the fan rpm would be something >>>> like >>>> >>>> 1500 / 20000 = 0.075 >>>> >>>> where rpm max 20000 is from dbus. However the fan input function would >>>> transfer double into int, which is 0 for 0.075 (see [5]). Hence the fan input is 0 >>>> not percentage. Is there something wrong? >>>> >>>> [1] https://github.com/openbmc/phosphor-pid- >>>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c >>>> [2] https://github.com/openbmc/phosphor-pid- >>>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle >>>> r.cpp#L86 >>>> [3] >>>> { >>>> "name": "fan1", >>>> "type": "fan", >>>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", >>>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", >>>> "min": 0, >>>> "max": 255 >>>> }, >>>> { >>>> "name": "temp1", >>>> "type": "temp", >>>> "readPath": "/xyz/openbmc_project/sensors/temperature/temp1", >>>> "writePath": "", >>>> "min": 0, >>>> "max": 0 >>>> } >>>> [4] https://github.com/openbmc/phosphor-pid- >>>> control/commit/75eb769d351434547899186f73ff70ae00d7934a >>>> [5] https://github.com/openbmc/phosphor-pid- >>>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontrolle >>>> r.cpp#L64 >>>> [6] https://github.com/openbmc/phosphor-pid- >>>> control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspassi >>>> ve.cpp#L158 >>>> >>>>> >>>>>> >>>>>> >>>>>> [1] >>>>>> https://github.com/openbmc/phosphor-pid- >>>>> control/commit/fc2e803f5d92569 >>>>>> 44e18c7c878a441606b1f121c >>>>>> >>>>>> [2] >>>>>> https://github.com/openbmc/phosphor-pid- >>>>> control/blob/a7ec8350d17b70153 >>>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> >>>>>> Hank Liou >>>>>> >>>>>> Quanta Computer Inc. >>>>>> >>>>>> >>>> >>>> Sincerely, >>>> Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=220.128.79.91; helo=mx02.quantatw.com; envelope-from=prvs=149cca83e=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx02.quantatw.com (mx02.quantatw.com [220.128.79.91]) by lists.ozlabs.org (Postfix) with ESMTP id 46SHYq75RvzDqXG for ; Tue, 10 Sep 2019 18:01:59 +1000 (AEST) Received: from unknown (HELO mailbx09.quanta.corp) ([10.243.91.106]) by mx02.quantatw.com with ESMTP; 10 Sep 2019 16:01:56 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx09.quanta.corp (10.243.91.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 10 Sep 2019 16:01:56 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Tue, 10 Sep 2019 16:01:56 +0800 From: =?utf-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= To: James Feist , Patrick Venture CC: "openbmc@lists.ozlabs.org" Subject: RE: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0UqcFJGgAgAE9VwCAC0qVsIAAQT+AgAYx+NeABJmE/IAGcF0AgAAIKACAAWYjoA== Date: Tue, 10 Sep 2019 08:01:55 +0000 Message-ID: <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> In-Reply-To: Accept-Language: en-US, zh-TW Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Sep 2019 08:02:11 -0000 Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogSmFtZXMgRmVpc3QgW21haWx0bzpq YW1lcy5mZWlzdEBsaW51eC5pbnRlbC5jb21dDQo+U2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDEw LCAyMDE5IDE6MjcgQU0NCj5UbzogUGF0cmljayBWZW50dXJlIDx2ZW50dXJlQGdvb2dsZS5jb20+ OyBIYW5rIExpb3UgKOWKieaZiee/sCkNCj48SGFuay5MaW91QHF1YW50YXR3LmNvbT4NCj5DYzog b3BlbmJtY0BsaXN0cy5vemxhYnMub3JnDQo+U3ViamVjdDogUmU6IFtwaG9zcGhvci1waWQtY29u dHJvbF0gc2NhbGluZyBpc3N1ZQ0KPg0KPk9uIDkvOS8xOSA5OjU3IEFNLCBQYXRyaWNrIFZlbnR1 cmUgd3JvdGU6DQo+PiBPbiBUaHUsIFNlcCA1LCAyMDE5IGF0IDEyOjI1IEFNIEhhbmsgTGlvdSAo 5YqJ5pmJ57+wKQ0KPjxIYW5rLkxpb3VAcXVhbnRhdHcuY29tPiB3cm90ZToNCj4+Pg0KPj4+IEhp IFBhdHJpY2ssDQo+Pj4NCj4+Pg0KPj4+IFNvcnJ5IGZvciBub3QgY2xlYXJseSBzdGF0aW5nIG91 ciBwcm9ibGVtLiBXZSBoYXZlIHRoZSBmb2xsb3dpbmcgaXNzdWU6DQo+Pj4NCj4+Pg0KPj4+IHRl bXAgc2Vuc29yIGdldHMgMzEoQykgLT4gMzEgLyAwLjI1NSA9IDEyMS41NyAtPiBwaWQgdXNlcyAx MjcuNTcgYXMNCj4+PiBpbnB1dCBmb3IgdGVtcCBzZW5zb3IgLT4NCj4+Pg0KPj4+IHN0ZXB3aXNl IGZhbiB0YWJsZSBvdXRwdXQgMTAwIGR1dHkgLT4gZnVsbCBzcGVlZCBmYW4NCj4+DQo+PiBPaywg c28geW91J3JlIGdldHRpbmcgYSBkYnVzLWJhc2VkIG1pbi9tYXggdmFsdWUgYW5kIHlvdSB3YW50 IHRvDQo+PiBpZ25vcmUgaXQ/DQoNClllcywgd2Ugd2FudCB0byBpZ25vcmUgaXQuDQoNCj4NCj5X aGF0IGlzIHByb3ZpZGluZyB0aGUgZGJ1cy1iYXNlZCBtaW4vbWF4Pw0KDQpXZSB1c2UgZGJ1cyBt aW4vbWF4IGZvciBwaG9zcGhvci1zZWwtbG9nZ2VyIHV0aWxpdHkuIFRoZSBkYnVzIG1pbi9tYXgg aXMgcHJvdmlkZWQgYnkgY29uZmlnIGZpbGUgb2YgcGhvc3Bob3ItaHdtb24uDQpJbiBvdXIgY2Fz ZSwgdGhleSBhcmUgLTEyOC8xMjcgcmVzcGVjdGl2ZWx5Lg0KDQpJIGhhdmUgYW4gb2JzZXJ2YXRp b246DQpJIGZvdW5kIHRoYXQgd2hpbGUgZmFuIHJlYWRwYXRoIGlzIG9mIHRoZSBmb3JtICIvc3lz Ly4uLiIsIHRoZSBmYW4gaW5wdXQgd291bGQgbm90IGJlIHJlc2NhbGVkLiBUaGUgc2FtZSBpcyBm b3Igb3RoZXIgc2Vuc29ycyBzaW5jZSB0aGUgaW5wdXQgdmFsdWUgd291bGQgbm90IGVudGVyIHJl c2NhbGluZyBmdW5jdGlvbi4NCkhvd2V2ZXIsIGluIG91ciBjYXNlIHdlIGRvbid0IGhhdmUgYSBz eXMgcGF0aCBmb3Igc29tZSB0aGVybWFsIHNlbnNvcnMuDQoNCj4NCj4+IEluIHRoZSBqc29uIGNv bmZpZ3VyYXRpb24sIGlmIHlvdSBzZXQgdGhlIHZhbHVlcyB0byAwLCB0aGV5IGFyZSBzZXQgdG8N Cj4+IHRoZSBkZWZhdWx0ICgwKSwgc28gdGhlcmUnZCBiZSBubyBjbGVhbiB3YXkgdG8ga25vdyB0 byBpZ25vcmUgZGJ1cyBpbg0KPj4gdGhpcyBjYXNlLCB3aXRob3V0IGFkZGluZyBhIHNtYWxsIGNo ZWNrIHRvIG9ubHkgY29uc2lkZXIgbWluL21heCBmcm9tDQo+PiBkYnVzIHdoZW4gc2Vuc29yIGlz IG5vdCB0ZW1wL21hcmdpbi4gIEJhc2ljYWxseSwgb25seSBjYXJlIGFib3V0DQo+PiBtaW4vbWF4 IG9uIGRidXMgaWYgdHlwZSBpcyAiZmFuIg0KPg0KDQpJIGFncmVlIHdpdGggdGhlIG9wdGlvbiB0 byBhZGQgYSBjaGVjayBzaW5jZSB0aGUgbWluL21heCBpcyBvbmx5IGZvciBmYW4gbm93Lg0KIA0K PldoeSBpcyB0aGUgZGJ1cy1iYXNlZCBtaW4vbWF4IGV2ZW4gdGhlcmUgaWYgeW91IGRvbid0IHBs YW4gb24gdXNpbmcgaXQ/DQo+DQo+Pg0KPj4gSWYgdGhhdCdzIHJpZ2h0LCBKYW1lcyBkbyB5b3Ug aGF2ZSBhIGN5Y2xlIHRvIGxvb2sgYXQgdGhpcyBvbmUtbGluZXI/DQo+Pg0KPj4+DQo+Pj4NCj4+ PiBBcyBhIHJlc3VsdCwgZmFuIHdpbGwgYmUgYXQgZnVsbCBzcGVlZCB3aGlsZSB0ZW1wIGlzIGxv dy4gQmVmb3JlIHRoZSBjb21taXQNCj5mYzJlODAzIFsxXSwgdGhpcyB3b24ndCBoYXBwZW4uIFRo ZSByb290IGNhdXNlIGlzIHRoYXQsIGJlZm9yZSBmYzJlODAzLCBwaWQgd2lsbA0KPnVzZSBjb25m aWcgbWluL21heCwgd2hpY2ggaXMgMCBpbiBvdXIgY2FzZS4gVGhpcyB3b3VsZCBub3QgdHJpZ2dl ciBzY2FsaW5nDQo+ZnVuY3Rpb24sIG5hbWVseSBzY2FsZVNlbnNvclJlYWRpbmcsIGluIHV0aWwu Y3BwLiBIb3dldmVyLCBhZnRlciBzdWNoIGNvbW1pdCwNCj5taW4vbWF4IHdvdWxkIGJlIG5vbi16 ZXJvICgtMTI4LzEyNyBmcm9tIERCdXMpLiBUaGlzIHdpbGwgdHJpZ2dlciBzY2FsaW5nDQo+ZnVu Y3Rpb24uDQo+Pj4NCj4+Pg0KPj4+IFsxXQ0KPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1j L3Bob3NwaG9yLXBpZC0NCj5jb250cm9sL2NvbW1pdC9mYzJlODAzZjVkOTI1Ng0KPj4+IDk0NGUx OGM3Yzg3OGE0NDE2MDZiMWYxMjFjDQo+Pj4NCj4+Pg0KPj4+IEhhbmsNCj4+Pg0KPj4+DQo+Pj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+PiBGcm9tOiBIYW5rIExpb3UgKOWK ieaZiee/sCkNCj4+PiBTZW50OiBNb25kYXksIFNlcHRlbWJlciAyLCAyMDE5IDQ6NTIgUE0NCj4+ PiBUbzogUGF0cmljayBWZW50dXJlDQo+Pj4gQ2M6IEphbWVzIEZlaXN0OyBvcGVuYm1jQGxpc3Rz Lm96bGFicy5vcmcNCj4+PiBTdWJqZWN0OiBSZTogW3Bob3NwaG9yLXBpZC1jb250cm9sXSBzY2Fs aW5nIGlzc3VlDQo+Pj4NCj4+Pg0KPj4+IEhpIFBhdHJpY2ssDQo+Pj4NCj4+Pg0KPj4+IFNpbmNl IHdlIHVzZSBwaG9zcGhvci1zZWwtbG9nZ2VyIFsxXSBhdCB0aGUgc2FtZSB0aW1lLCB3ZSBkbyBh c3NpZ24gbWluDQo+YW5kIG1heCBvZiB0ZW1wIHNlbnNvcnMgdG8gRGJ1cyAobWF4OiAxMjcsIG1p bjogLTEyOCkuIFNvIGluIHRoZSBwcmVzZW50IGNhc2UsDQo+b3VyIHRlbXAgdmFsdWUgd2lsbCBi ZSBkaXZpZGVkIGJ5IDAuMjU1IChhbHNvIGR1ZSB0byBleHBvbmVudCBpcyAtMyBoZXJlKS4gVGhp cw0KPndpbGwgY2F1c2UgcmUtc2NhbGluZyBwcm9ibGVtLiBUaGVyZWZvcmUgdGhlcmUgc2hvdWxk IGJlIGFuIHN0YXRlbWVudCB0bw0KPmRpc3Rpbmd1aXNoIHNlbnNvciB0eXBlcy4gSWYgaXQgaXMg InRlbXAiLCB0aGVuIG9uZSBhc3NpZ25zIDAgdG8gdGhlIG1pbiBhbmQgbWF4DQo+ZnJvbSBEYnVz Lg0KPj4+DQo+Pj4NCj4+PiBbMV0NCj4+PiBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9z cGhvci1zZWwtDQo+bG9nZ2VyL2Jsb2IvM2QzMDBmY2EyNGIzMDg2NGINCj4+PiAzZTlhNGY1NzY4 Y2ZlNWU3Njk0NThhZS9pbmNsdWRlL3NlbnNvcnV0aWxzLmhwcCNMNTkNCj4+Pg0KPj4+DQo+Pj4g SGFuaw0KPj4+DQo+Pj4NCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+ IEZyb206IFBhdHJpY2sgVmVudHVyZSA8dmVudHVyZUBnb29nbGUuY29tPg0KPj4+IFNlbnQ6IEZy aWRheSwgQXVndXN0IDMwLCAyMDE5IDE6NDcgQU0NCj4+PiBUbzogSGFuayBMaW91ICjlionmmYnn v7ApDQo+Pj4gQ2M6IEphbWVzIEZlaXN0OyBvcGVuYm1jQGxpc3RzLm96bGFicy5vcmcNCj4+PiBT dWJqZWN0OiBSZTogW3Bob3NwaG9yLXBpZC1jb250cm9sXSBzY2FsaW5nIGlzc3VlDQo+Pj4NCj4+ PiBQVEFMIC0gaHR0cHM6Ly9nZXJyaXQub3BlbmJtYy1wcm9qZWN0Lnh5ei8yNDgyNyAtIHRoaXMg aXMgbWVyZ2VkLCBhbmQNCj4+PiB0aGUgc3JjcmV2IGJ1bXAgc2hvdWxkIHByb3BhZ2F0ZSBpbnRv IG9wZW5ibWMvb3BlbmJtYyBpbiBhIGRheSBvciB0d28uDQo+Pj4NCj4+PiBPbiBXZWQsIEF1ZyAy OCwgMjAxOSBhdCAxMTowMCBQTSBIYW5rIExpb3UgKOWKieaZiee/sCkNCj48SGFuay5MaW91QHF1 YW50YXR3LmNvbT4gd3JvdGU6DQo+Pj4+DQo+Pj4+IEhpIFBhdHJpY2ssDQo+Pj4+DQo+Pj4+IEkg dGhpbmsgaXQncyBPSyB0byBwYXJzZSB0aGUgY29uZmlnIG1pbiZtYXggZm9yIHRlbXAgc2Vuc29y cy4NCj4+Pj4NCj4+Pj4gQW55IHN1Z2dlc3Rpb24/DQo+Pj4+DQo+Pj4+IFRoYW5rcywNCj4+Pj4g SGFuaw0KPj4+Pg0KPj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4+IEZyb206 IG9wZW5ibWMgW21haWx0bzpvcGVuYm1jLQ0KPj4+Pj4gYm91bmNlcytoYW5rLmxpb3U9cXVhbnRh dHcuY29tQGxpc3RzLm96bGFicy5vcmddIE9uIEJlaGFsZiBPZiBIYW5rDQo+Pj4+PiBib3VuY2Vz K0xpb3UNCj4+Pj4+ICjlionmmYnnv7ApDQo+Pj4+PiBTZW50OiBGcmlkYXksIEF1Z3VzdCAyMywg MjAxOSA0OjMxIFBNDQo+Pj4+PiBUbzogUGF0cmljayBWZW50dXJlIDx2ZW50dXJlQGdvb2dsZS5j b20+OyBKYW1lcyBGZWlzdA0KPj4+Pj4gPGphbWVzLmZlaXN0QGxpbnV4LmludGVsLmNvbT4NCj4+ Pj4+IENjOiBvcGVuYm1jQGxpc3RzLm96bGFicy5vcmcNCj4+Pj4+IFN1YmplY3Q6IFJFOiBbcGhv c3Bob3ItcGlkLWNvbnRyb2xdIHNjYWxpbmcgaXNzdWUNCj4+Pj4+DQo+Pj4+PiBIaSBQYXRyaWNr LA0KPj4+Pj4NCj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+Pj4+IEZyb206 IFBhdHJpY2sgVmVudHVyZSBbbWFpbHRvOnZlbnR1cmVAZ29vZ2xlLmNvbV0NCj4+Pj4+PiBTZW50 OiBXZWRuZXNkYXksIEF1Z3VzdCAyMSwgMjAxOSAxMDozMiBQTQ0KPj4+Pj4+IFRvOiBIYW5rIExp b3UgKOWKieaZiee/sCkgPEhhbmsuTGlvdUBxdWFudGF0dy5jb20+OyBKYW1lcyBGZWlzdA0KPj4+ Pj4+IDxqYW1lcy5mZWlzdEBsaW51eC5pbnRlbC5jb20+DQo+Pj4+Pj4gQ2M6IG9wZW5ibWNAbGlz dHMub3psYWJzLm9yZw0KPj4+Pj4+IFN1YmplY3Q6IFJlOiBbcGhvc3Bob3ItcGlkLWNvbnRyb2xd IHNjYWxpbmcgaXNzdWUNCj4+Pj4+Pg0KPj4+Pj4+IE9uIFdlZCwgQXVnIDIxLCAyMDE5IGF0IDE6 MTEgQU0gSGFuayBMaW91ICjlionmmYnnv7ApDQo+Pj4+Pj4gPEhhbmsuTGlvdUBxdWFudGF0dy5j b20+IHdyb3RlOg0KPj4+Pj4+Pg0KPj4+Pj4+PiBIaSBBbGwsDQo+Pj4+Pj4+DQo+Pj4+Pj4+DQo+ Pj4+Pj4+IEFmdGVyIGNvbW1pdCBbMV0sIEkgZm91bmQgbXkgdGVtcCBzZW5zb3IgcmVhZGluZyB3 b3VsZCBiZQ0KPj4+Pj4+PiByZS1zY2FsZWQgYnkNCj4+Pj4+PiBtdWx0aXBseWluZyAxIG92ZXIg MjU1LCBtYWtpbmcgdGVtcGVyYXR1cmUgaW50byB1bmZhbWlsaWFyIHVuaXQuDQo+Pj4+Pj4gQWxz byB0aGUgZmFuIHJwbSByZWFkaW5nIHdvdWxkIGxpZSBpbiBbMCwxXSBpbnRlcnZhbCwgbGV0dGlu ZyB0aGUNCj4+Pj4+PiBmYW4gaW5wdXQgdG8gYmUgMCAoc2luY2UgdGhlIGlucHV0IHZhbHVlIG9m IGZhbiBpcyBmcm9tIGFuIGludGVnZXINCj4+Pj4+PiBhcnJheSBbMl0pLiBBcmUgdGhlc2UNCj4+ Pj4+IG5vcm1hbCBiZWhhdmlvcnM/DQo+Pj4+Pj4gT3IgZG8gSSBtaXNzIHNvbWV0aGluZz8NCj4+ Pj4+Pg0KPj4+Pj4+IEFyZSB5b3UgdXNpbmcgZGJ1cyBjb25maWd1cmF0aW9uIG9yIGpzb24/ICBJ ZiBqc29uLCBjYW4geW91IGF0dGFjaCB5b3VyDQo+Y29uZmlnLg0KPj4+Pj4+IFNpbmNlIHlvdSdy ZSBzYXlpbmcgaXQgd2FzIHdvcmtpbmcgYW5kIG5vdyBpc24ndCwgSSdtIGFzc3VtaW5nDQo+Pj4+ Pj4gdGhlcmUncyBzb21ldGhpbmcgYWJvdXQgdGhlIGNvbmZpZyBiZWluZyB0cmVhdGVkIGRpZmZl cmVudGx5IHdpdGgNCj4+Pj4+PiB0aGUgY29kZSBjaGFuZ2VzIGluIGFuIHVuZXhwZWN0ZWQgd2F5 Lg0KPj4+Pj4NCj4+Pj4+IEkgZm91bmQgcGlkIGNvbnRyb2wgd2lsbCBmaXJzdCByZWFkIG1pbiBh bmQgbWF4IGZyb20gZGJ1cyBhbmQgdGhlbg0KPj4+Pj4gKGJlZm9yZSBjb21taXQgWzFdKSByZXZp c2UgdGhlbSBpZg0KPj4+Pj4NCj4+Pj4+IGluZm8tPm1pbiAhPSBjb25mOjppbmhlcml0VmFsdWVG cm9tRGJ1cyAoaW4gZGJ1cy9kYnVzcGFzc2l2ZS5jcHApDQo+Pj4+Pg0KPj4+Pj4gQWZ0ZXIgdmFs dWUgaW5pdGlhbGl6YXRpb24sIHRoZSBtaW4gYW5kIG1heCB3b3VsZCBiZSB0aGUgb25lcyBpbg0K Pj4+Pj4ganNvbiBmaWxlIChKc29uIGZpbGUgWzNdKS4gSG93ZXZlciwgYWZ0ZXIgY29tbWl0IFsx XSB0aGUgbWluIGFuZA0KPj4+Pj4gbWF4IHZhbHVlcyBvZiBjb25maWcgd291bGQgbm90IGJlIGZl ZCBpbnRvIHRoZSBmYW4gY29udHJvbCBwcm9jZXNzLg0KPj4+Pj4gVGhlIHNjYWxpbmcgaXNzdWUg aXMgb3JpZ2luYXRlZCBmcm9tIGNvbW1pdCBbNF0gd2l0aCB0aGUgYWltIHRvDQo+Pj4+PiB0cmVh dCBmYW4gcnBtIGFzIHBlcmNlbnRhZ2UuIEl0IHNlZW1zIHRoYXQgY29tbWl0IFsxXSB1bmV4cGVj dGVkbHkNCj4+Pj4+IGFmZmVjdHMgdGVtcCBzZW5zb3JzIGluIHRoZSBzZW5zZSB0aGF0IHRoZSB0 ZW1wIGlzIHRoZSBpbnRlZ2VyDQo+Pj4+PiByZWFkaW5nIG5vdCBwZXJjZW50YWdlLiBCZWZvcmUg Y29tbWl0IFsxXSwgaXQgd291bGQgbm90IHJlLXNjYWxlIHRoZQ0KPnRlbXAgcmVhZGluZyBzaW5j ZSBteSBtaW4gYW5kIG1heCBhcmUgMCBbNl0uDQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiBU aGVyZSBpcyBhbm90aGVyIGlzc3VlIHdpdGggY29tbWl0IFsxXS4gTm93IHRoZSBmYW4gcnBtIHdv dWxkIGJlDQo+Pj4+PiBzb21ldGhpbmcgbGlrZQ0KPj4+Pj4NCj4+Pj4+IDE1MDAgLyAyMDAwMCA9 IDAuMDc1DQo+Pj4+Pg0KPj4+Pj4gd2hlcmUgcnBtIG1heCAyMDAwMCBpcyBmcm9tIGRidXMuIEhv d2V2ZXIgdGhlIGZhbiBpbnB1dCBmdW5jdGlvbg0KPj4+Pj4gd291bGQgdHJhbnNmZXIgZG91Ymxl IGludG8gaW50LCB3aGljaCBpcyAwIGZvciAwLjA3NSAoc2VlIFs1XSkuDQo+Pj4+PiBIZW5jZSB0 aGUgZmFuIGlucHV0IGlzIDAgbm90IHBlcmNlbnRhZ2UuIElzIHRoZXJlIHNvbWV0aGluZyB3cm9u Zz8NCj4+Pj4+DQo+Pj4+PiBbMV0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3It cGlkLQ0KPj4+Pj4gY29udHJvbC9jb21taXQvZmMyZTgwM2Y1ZDkyNTY5NDRlMThjN2M4NzhhNDQx NjA2YjFmMTIxYw0KPj4+Pj4gWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9y LXBpZC0NCj4+Pj4+DQo+Y29udHJvbC9ibG9iL2E3ZWM4MzUwZDE3YjcwMTUzY2ViZTY2NmQzZmJl ODhiZGRkMDJhMWEvcGlkL2ZhbmNvbnRybw0KPj4+Pj4gbGxlDQo+Pj4+PiByLmNwcCNMODYNCj4+ Pj4+IFszXQ0KPj4+Pj4gICAgICAgIHsNCj4+Pj4+ICAgICAgICAgICAgICJuYW1lIjogImZhbjEi LA0KPj4+Pj4gICAgICAgICAgICAgInR5cGUiOiAiZmFuIiwNCj4+Pj4+ICAgICAgICAgICAgICJy ZWFkUGF0aCI6ICIvc3lzL2NsYXNzL2h3bW9uL2h3bW9uMS9mYW4xX2lucHV0IiwNCj4+Pj4+ICAg ICAgICAgICAgICJ3cml0ZVBhdGgiOiAiL3N5cy9jbGFzcy9od21vbi9od21vbjEvcHdtMSIsDQo+ Pj4+PiAgICAgICAgICAgICAibWluIjogMCwNCj4+Pj4+ICAgICAgICAgICAgICJtYXgiOiAyNTUN Cj4+Pj4+ICAgICAgICAgfSwNCj4+Pj4+ICAgICAgICAgew0KPj4+Pj4gICAgICAgICAgICAgIm5h bWUiOiAidGVtcDEiLA0KPj4+Pj4gICAgICAgICAgICAgInR5cGUiOiAidGVtcCIsDQo+Pj4+PiAg ICAgICAgICAgICAicmVhZFBhdGgiOg0KPiIveHl6L29wZW5ibWNfcHJvamVjdC9zZW5zb3JzL3Rl bXBlcmF0dXJlL3RlbXAxIiwNCj4+Pj4+ICAgICAgICAgICAgICJ3cml0ZVBhdGgiOiAiIiwNCj4+ Pj4+ICAgICAgICAgICAgICJtaW4iOiAwLA0KPj4+Pj4gICAgICAgICAgICAgIm1heCI6IDANCj4+ Pj4+ICAgICAgICAgfQ0KPj4+Pj4gWzRdIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3Nw aG9yLXBpZC0NCj4+Pj4+IGNvbnRyb2wvY29tbWl0Lzc1ZWI3NjlkMzUxNDM0NTQ3ODk5MTg2Zjcz ZmY3MGFlMDBkNzkzNGENCj4+Pj4+IFs1XSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9z cGhvci1waWQtDQo+Pj4+Pg0KPmNvbnRyb2wvYmxvYi9hN2VjODM1MGQxN2I3MDE1M2NlYmU2NjZk M2ZiZTg4YmRkZDAyYTFhL3BpZC9mYW5jb250cm8NCj4+Pj4+IGxsZQ0KPj4+Pj4gci5jcHAjTDY0 DQo+Pj4+PiBbNl0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPj4+ Pj4NCj5jb250cm9sL2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2ZDNmYmU4OGJkZGQwMmEx YS9kYnVzL2RidXNwYXNzDQo+Pj4+PiBpDQo+Pj4+PiB2ZS5jcHAjTDE1OA0KPj4+Pj4NCj4+Pj4+ Pg0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+PiBbMV0NCj4+Pj4+Pj4gaHR0cHM6Ly9naXRodWIu Y29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPj4+Pj4+IGNvbnRyb2wvY29tbWl0L2ZjMmU4MDNm NWQ5MjU2OQ0KPj4+Pj4+PiA0NGUxOGM3Yzg3OGE0NDE2MDZiMWYxMjFjDQo+Pj4+Pj4+DQo+Pj4+ Pj4+IFsyXQ0KPj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQt DQo+Pj4+Pj4gY29udHJvbC9ibG9iL2E3ZWM4MzUwZDE3YjcwMTUzDQo+Pj4+Pj4+IGNlYmU2NjZk M2ZiZTg4YmRkZDAyYTFhL3BpZC9mYW5jb250cm9sbGVyLmNwcCNMODYNCj4+Pj4+Pj4NCj4+Pj4+ Pj4NCj4+Pj4+Pj4gVGhhbmtzLA0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+PiBIYW5rIExpb3UN Cj4+Pj4+Pj4NCj4+Pj4+Pj4gUXVhbnRhIENvbXB1dGVyIEluYy4NCj4+Pj4+Pj4NCj4+Pj4+Pj4N Cj4+Pj4+DQo+Pj4+PiBTaW5jZXJlbHksDQo+Pj4+PiBIYW5rDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::643; helo=mail-pl1-x643.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="PjZdQg+t"; dkim-atps=neutral Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46SSP13KWtzF0dc for ; Wed, 11 Sep 2019 00:40:04 +1000 (AEST) Received: by mail-pl1-x643.google.com with SMTP id k1so8703295pls.11 for ; Tue, 10 Sep 2019 07:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=cNmW3etY1twdQSNrz6t57cT8HuczhubfwKavmOfjxpA=; b=PjZdQg+tMRuNaHdOMImjXuuKHifDmzeJ0yW3P3G9FtZ7K/UvWvnVM1hvU9aymQ1GLd aOgFaw1aaAAFwCUaMvP23ai546rvbGLIjr9OIxB3ylLAitVhkdEndoqa70DrTaL/geWn 5O3jufAu/F8cyvhALyFNsD2uFxvss4wBomuNuDNZwjbIpxwHyyVYHou0qEOZ/f0eTq0c xOLMq3pYyU9zr+HKyWOlr8D1ZGntLEenxva+u52eeho6cJA0ULQpwDGJD7xhMehcD6oM 3pKA+0XVKz4Y0IhfKEA3iAgDj4k8mp7R3Pvt3f502Tkw8r5wLqWPQO8FLZKzbYRTesMp 7P4g== 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=cNmW3etY1twdQSNrz6t57cT8HuczhubfwKavmOfjxpA=; b=cRcI9QZfjgKB9QaaG+ojiuyQvZjaVszPK3TYKUrWNAnIcsGVy1Bgb5DDKl0gwoc4W2 dhiXDgIL5kxNzNGtDDFot+dnElLTO5FJ/Rle4TMdfkwSqcnR5DEcuMLErNdfskQRexc1 rA3Bjsn1YBMUGUni/CjodnsEmQr6NcWC5jTOsQyVHP8dLJZHtFPF38/rxj0kkFv6QP3A L/1GjQlpcJF5zZBTd71gfT3SHl7D8rVKWtN9I7AXNzaD3Bs2c4rzBgGmnoM3SI+T/2Ft anMopYsLkJ3IfO3Ip7Gi69puiJACLsonfYY08QtjkgVm8hwZu3m5vI+r8CwX0M9XIGoM wb+g== X-Gm-Message-State: APjAAAWHX0NafzuHWcl2QEQpwUMLxuwxeW6g/BAvowaGKMfKQP5p7zqa symvA+/SgscILV5VRVSRN/P71BbR9dylER0PoKdR5g== X-Google-Smtp-Source: APXvYqz2ZNjoORsvysiGANhiCKdhdbrI7krswUyfWiqnAseg4msYexJYmCy/8o4Xf/3Z0yn/PiAR89GoARknl6Du8eQ= X-Received: by 2002:a17:902:848c:: with SMTP id c12mr31441510plo.47.1568126400827; Tue, 10 Sep 2019 07:40:00 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> In-Reply-To: <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> From: Patrick Venture Date: Tue, 10 Sep 2019 07:39:49 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Sep 2019 14:40:06 -0000 On Tue, Sep 10, 2019 at 1:02 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > >-----Original Message----- > >From: James Feist [mailto:james.feist@linux.intel.com] > >Sent: Tuesday, September 10, 2019 1:27 AM > >To: Patrick Venture ; Hank Liou (=E5=8A=89=E6=99=89= =E7=BF=B0) > > > >Cc: openbmc@lists.ozlabs.org > >Subject: Re: [phosphor-pid-control] scaling issue > > > >On 9/9/19 9:57 AM, Patrick Venture wrote: > >> On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0= ) > > wrote: > >>> > >>> Hi Patrick, > >>> > >>> > >>> Sorry for not clearly stating our problem. We have the following issu= e: > >>> > >>> > >>> temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.57 as > >>> input for temp sensor -> > >>> > >>> stepwise fan table output 100 duty -> full speed fan > >> > >> Ok, so you're getting a dbus-based min/max value and you want to > >> ignore it? > > Yes, we want to ignore it. It looks like the sensor value scaling should be ignored for non-fans. Per https://github.com/openbmc/phosphor-pid-control/commit/75eb769d35143454= 7899186f73ff70ae00d7934a, this change was only meant to deal with a fan case where the goal looks like it was to treat the fan values as percentages on reading the sensors, and not only on writing them by leveraging the min/max json sometimes? I can change the dbuspassive constructor to set the values back to their input values (ignoring dbus) if the type is not "fan", but I'm not sure that makes sense because the real use-case isn't clear to me, and I know the scaling from dbus is gone: https://github.com/openbmc/phosphor-pid-control/search?utf8=3D%E2%9C%93&q= =3DinheritValueFromDbus&type=3D I'll submit the patch real quick, but I'm not sure it's the right long-term fix. I'd like to clean this up if possible so that we don't leverage "unused" features of a configuration and instead explicitly use them (or not). > > > > >What is providing the dbus-based min/max? > > We use dbus min/max for phosphor-sel-logger utility. The dbus min/max is = provided by config file of phosphor-hwmon. > In our case, they are -128/127 respectively. > > I have an observation: > I found that while fan readpath is of the form "/sys/...", the fan input = would not be rescaled. The same is for other sensors since the input value = would not enter rescaling function. > However, in our case we don't have a sys path for some thermal sensors. > > > > >> In the json configuration, if you set the values to 0, they are set to > >> the default (0), so there'd be no clean way to know to ignore dbus in > >> this case, without adding a small check to only consider min/max from > >> dbus when sensor is not temp/margin. Basically, only care about > >> min/max on dbus if type is "fan" > > > > I agree with the option to add a check since the min/max is only for fan = now. > > >Why is the dbus-based min/max even there if you don't plan on using it? > > > >> > >> If that's right, James do you have a cycle to look at this one-liner? > >> > >>> > >>> > >>> As a result, fan will be at full speed while temp is low. Before the = commit > >fc2e803 [1], this won't happen. The root cause is that, before fc2e803, = pid will > >use config min/max, which is 0 in our case. This would not trigger scali= ng > >function, namely scaleSensorReading, in util.cpp. However, after such co= mmit, > >min/max would be non-zero (-128/127 from DBus). This will trigger scalin= g > >function. > >>> > >>> > >>> [1] > >>> https://github.com/openbmc/phosphor-pid- > >control/commit/fc2e803f5d9256 > >>> 944e18c7c878a441606b1f121c > >>> > >>> > >>> Hank > >>> > >>> > >>> ________________________________ > >>> From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >>> Sent: Monday, September 2, 2019 4:52 PM > >>> To: Patrick Venture > >>> Cc: James Feist; openbmc@lists.ozlabs.org > >>> Subject: Re: [phosphor-pid-control] scaling issue > >>> > >>> > >>> Hi Patrick, > >>> > >>> > >>> Since we use phosphor-sel-logger [1] at the same time, we do assign m= in > >and max of temp sensors to Dbus (max: 127, min: -128). So in the present= case, > >our temp value will be divided by 0.255 (also due to exponent is -3 here= ). This > >will cause re-scaling problem. Therefore there should be an statement to > >distinguish sensor types. If it is "temp", then one assigns 0 to the min= and max > >from Dbus. > >>> > >>> > >>> [1] > >>> https://github.com/openbmc/phosphor-sel- > >logger/blob/3d300fca24b30864b > >>> 3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 > >>> > >>> > >>> Hank > >>> > >>> > >>> ________________________________ > >>> From: Patrick Venture > >>> Sent: Friday, August 30, 2019 1:47 AM > >>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >>> Cc: James Feist; openbmc@lists.ozlabs.org > >>> Subject: Re: [phosphor-pid-control] scaling issue > >>> > >>> PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, and > >>> the srcrev bump should propagate into openbmc/openbmc in a day or two= . > >>> > >>> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) > > wrote: > >>>> > >>>> Hi Patrick, > >>>> > >>>> I think it's OK to parse the config min&max for temp sensors. > >>>> > >>>> Any suggestion? > >>>> > >>>> Thanks, > >>>> Hank > >>>> > >>>>> -----Original Message----- > >>>>> From: openbmc [mailto:openbmc- > >>>>> bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of Han= k > >>>>> bounces+Liou > >>>>> (=E5=8A=89=E6=99=89=E7=BF=B0) > >>>>> Sent: Friday, August 23, 2019 4:31 PM > >>>>> To: Patrick Venture ; James Feist > >>>>> > >>>>> Cc: openbmc@lists.ozlabs.org > >>>>> Subject: RE: [phosphor-pid-control] scaling issue > >>>>> > >>>>> Hi Patrick, > >>>>> > >>>>>> -----Original Message----- > >>>>>> From: Patrick Venture [mailto:venture@google.com] > >>>>>> Sent: Wednesday, August 21, 2019 10:32 PM > >>>>>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; James Feist > >>>>>> > >>>>>> Cc: openbmc@lists.ozlabs.org > >>>>>> Subject: Re: [phosphor-pid-control] scaling issue > >>>>>> > >>>>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7= =BF=B0) > >>>>>> wrote: > >>>>>>> > >>>>>>> Hi All, > >>>>>>> > >>>>>>> > >>>>>>> After commit [1], I found my temp sensor reading would be > >>>>>>> re-scaled by > >>>>>> multiplying 1 over 255, making temperature into unfamiliar unit. > >>>>>> Also the fan rpm reading would lie in [0,1] interval, letting the > >>>>>> fan input to be 0 (since the input value of fan is from an integer > >>>>>> array [2]). Are these > >>>>> normal behaviors? > >>>>>> Or do I miss something? > >>>>>> > >>>>>> Are you using dbus configuration or json? If json, can you attach= your > >config. > >>>>>> Since you're saying it was working and now isn't, I'm assuming > >>>>>> there's something about the config being treated differently with > >>>>>> the code changes in an unexpected way. > >>>>> > >>>>> I found pid control will first read min and max from dbus and then > >>>>> (before commit [1]) revise them if > >>>>> > >>>>> info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cpp) > >>>>> > >>>>> After value initialization, the min and max would be the ones in > >>>>> json file (Json file [3]). However, after commit [1] the min and > >>>>> max values of config would not be fed into the fan control process. > >>>>> The scaling issue is originated from commit [4] with the aim to > >>>>> treat fan rpm as percentage. It seems that commit [1] unexpectedly > >>>>> affects temp sensors in the sense that the temp is the integer > >>>>> reading not percentage. Before commit [1], it would not re-scale th= e > >temp reading since my min and max are 0 [6]. > >>>>> > >>>>> > >>>>> > >>>>> There is another issue with commit [1]. Now the fan rpm would be > >>>>> something like > >>>>> > >>>>> 1500 / 20000 =3D 0.075 > >>>>> > >>>>> where rpm max 20000 is from dbus. However the fan input function > >>>>> would transfer double into int, which is 0 for 0.075 (see [5]). > >>>>> Hence the fan input is 0 not percentage. Is there something wrong? > >>>>> > >>>>> [1] https://github.com/openbmc/phosphor-pid- > >>>>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > >>>>> [2] https://github.com/openbmc/phosphor-pid- > >>>>> > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro > >>>>> lle > >>>>> r.cpp#L86 > >>>>> [3] > >>>>> { > >>>>> "name": "fan1", > >>>>> "type": "fan", > >>>>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > >>>>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", > >>>>> "min": 0, > >>>>> "max": 255 > >>>>> }, > >>>>> { > >>>>> "name": "temp1", > >>>>> "type": "temp", > >>>>> "readPath": > >"/xyz/openbmc_project/sensors/temperature/temp1", > >>>>> "writePath": "", > >>>>> "min": 0, > >>>>> "max": 0 > >>>>> } > >>>>> [4] https://github.com/openbmc/phosphor-pid- > >>>>> control/commit/75eb769d351434547899186f73ff70ae00d7934a > >>>>> [5] https://github.com/openbmc/phosphor-pid- > >>>>> > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro > >>>>> lle > >>>>> r.cpp#L64 > >>>>> [6] https://github.com/openbmc/phosphor-pid- > >>>>> > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspass > >>>>> i > >>>>> ve.cpp#L158 > >>>>> > >>>>>> > >>>>>>> > >>>>>>> > >>>>>>> [1] > >>>>>>> https://github.com/openbmc/phosphor-pid- > >>>>>> control/commit/fc2e803f5d92569 > >>>>>>> 44e18c7c878a441606b1f121c > >>>>>>> > >>>>>>> [2] > >>>>>>> https://github.com/openbmc/phosphor-pid- > >>>>>> control/blob/a7ec8350d17b70153 > >>>>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > >>>>>>> > >>>>>>> > >>>>>>> Thanks, > >>>>>>> > >>>>>>> > >>>>>>> Hank Liou > >>>>>>> > >>>>>>> Quanta Computer Inc. > >>>>>>> > >>>>>>> > >>>>> > >>>>> Sincerely, > >>>>> Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::542; helo=mail-pg1-x542.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="S5AaHyQG"; dkim-atps=neutral Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46SSgk0SLLzF0fL for ; Wed, 11 Sep 2019 00:52:49 +1000 (AEST) Received: by mail-pg1-x542.google.com with SMTP id n4so9906193pgv.2 for ; Tue, 10 Sep 2019 07:52:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jX5FoQ83rFTbs3HO+AU4Uc0+9y4nsZTPgEmTxFT79VA=; b=S5AaHyQGL8x1AIlrUGkziTb616x/lgUJVi+oF2/0Lo+UC/IMxCd+HVxl1Q3Hoc8/fu egsj6nmeqXq3cyncLz7wR3LOwtje1xVZAWV9KcUzzvP1hW9F6p0kc+IXYalIo9pQP0EM YGs4CsGk5JDSH7F0cQrGa7y2W2iBiy5I5RurdyehOamPdCTo9qX82KazNKF8I4j8DmUB cEstfAY5Rv+wsmUjHxQnvqBJwSbVB3G15/u28gwXvOQ1Uh7dCgqkGuZyMGkSHlFDNkqN mdncsBUbR6ptm8mSdN+Av8qYO+brsPz6taUgGhfiRtDxVZh/Cp7kDac8CtQI865OiavS 9fsQ== 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=jX5FoQ83rFTbs3HO+AU4Uc0+9y4nsZTPgEmTxFT79VA=; b=gdmxwZuBIqPZJWokSmNoNrB5+ZLlcFTK24SsYGpQiDk3K2aSvsqmf4wUaDwrBqJtJS WuGhaDAa13/MLc7XBAMn6v2xbCRVCme5iiWKzWCb0AT/TDy7d3DXvVs3goyaU0PMHw0H JYbHYiih9iHBfLZ0jQQK7t+qlQWNj8RbwsUen1NKPkvyCTetp5Oy+mWt36SHqFY9JLlF tu/Ms+JFurCEq9ea6u3ZsPRxwU2o8Epfv7eUxSW0m/v5svETVvyRPzYSlUxZt7c00c5Q E1S2FbjcGEnr9IxhwFSJgcS9Sa+gTc3DehJnKDL9Nvb2X8YbRngWVRPNjYzpcicJpGUc LnuQ== X-Gm-Message-State: APjAAAVjCO/mHfW/HDy7xeNvmoin3O/7vYG1x/cB0iJw97yX74qNE9z5 r3myvHtfVMqDao8YBAkz4m6/4j7Y/AUkJqv/wzZaU/jSSKQ3hg== X-Google-Smtp-Source: APXvYqyu1OE40Ugwoh49TpzEYvQNIzPEAMDoHMWKHZcW5o2AlwcU+PYqV7cWy6qPFgIs8Xy3hQBi83rdForSScruvtU= X-Received: by 2002:a62:5b83:: with SMTP id p125mr3012522pfb.186.1568127165736; Tue, 10 Sep 2019 07:52:45 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> In-Reply-To: From: Patrick Venture Date: Tue, 10 Sep 2019 07:52:34 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Sep 2019 14:52:50 -0000 On Tue, Sep 10, 2019 at 7:39 AM Patrick Venture wrote: > > On Tue, Sep 10, 2019 at 1:02 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) <= Hank.Liou@quantatw.com> wrote: > > > > >-----Original Message----- > > >From: James Feist [mailto:james.feist@linux.intel.com] > > >Sent: Tuesday, September 10, 2019 1:27 AM > > >To: Patrick Venture ; Hank Liou (=E5=8A=89=E6=99= =89=E7=BF=B0) > > > > > >Cc: openbmc@lists.ozlabs.org > > >Subject: Re: [phosphor-pid-control] scaling issue > > > > > >On 9/9/19 9:57 AM, Patrick Venture wrote: > > >> On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) > > > wrote: > > >>> > > >>> Hi Patrick, > > >>> > > >>> > > >>> Sorry for not clearly stating our problem. We have the following is= sue: > > >>> > > >>> > > >>> temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.57 = as > > >>> input for temp sensor -> > > >>> > > >>> stepwise fan table output 100 duty -> full speed fan > > >> > > >> Ok, so you're getting a dbus-based min/max value and you want to > > >> ignore it? > > > > Yes, we want to ignore it. > > It looks like the sensor value scaling should be ignored for non-fans. > Per https://github.com/openbmc/phosphor-pid-control/commit/75eb769d351434= 547899186f73ff70ae00d7934a, > this change was only meant to deal with a fan case where the goal > looks like it was to treat the fan values as percentages on reading > the sensors, and not only on writing them by leveraging the min/max > json sometimes? > > I can change the dbuspassive constructor to set the values back to > their input values (ignoring dbus) if the type is not "fan", but I'm > not sure that makes sense because the real use-case isn't clear to me, > and I know the scaling from dbus is gone: > https://github.com/openbmc/phosphor-pid-control/search?utf8=3D%E2%9C%93&q= =3DinheritValueFromDbus&type=3D > > I'll submit the patch real quick, but I'm not sure it's the right > long-term fix. I'd like to clean this up if possible so that we don't > leverage "unused" features of a configuration and instead explicitly > use them (or not). This patch should address what you're seeing. Overall, I think there should be a larger change addressing the goal of the original change. https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-pid-control/+/25070 > > > > > > > > >What is providing the dbus-based min/max? > > > > We use dbus min/max for phosphor-sel-logger utility. The dbus min/max i= s provided by config file of phosphor-hwmon. > > In our case, they are -128/127 respectively. > > > > I have an observation: > > I found that while fan readpath is of the form "/sys/...", the fan inpu= t would not be rescaled. The same is for other sensors since the input valu= e would not enter rescaling function. > > However, in our case we don't have a sys path for some thermal sensors. > > > > > > > >> In the json configuration, if you set the values to 0, they are set = to > > >> the default (0), so there'd be no clean way to know to ignore dbus i= n > > >> this case, without adding a small check to only consider min/max fro= m > > >> dbus when sensor is not temp/margin. Basically, only care about > > >> min/max on dbus if type is "fan" > > > > > > > I agree with the option to add a check since the min/max is only for fa= n now. > > > > >Why is the dbus-based min/max even there if you don't plan on using it= ? > > > > > >> > > >> If that's right, James do you have a cycle to look at this one-liner= ? > > >> > > >>> > > >>> > > >>> As a result, fan will be at full speed while temp is low. Before th= e commit > > >fc2e803 [1], this won't happen. The root cause is that, before fc2e803= , pid will > > >use config min/max, which is 0 in our case. This would not trigger sca= ling > > >function, namely scaleSensorReading, in util.cpp. However, after such = commit, > > >min/max would be non-zero (-128/127 from DBus). This will trigger scal= ing > > >function. > > >>> > > >>> > > >>> [1] > > >>> https://github.com/openbmc/phosphor-pid- > > >control/commit/fc2e803f5d9256 > > >>> 944e18c7c878a441606b1f121c > > >>> > > >>> > > >>> Hank > > >>> > > >>> > > >>> ________________________________ > > >>> From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > > >>> Sent: Monday, September 2, 2019 4:52 PM > > >>> To: Patrick Venture > > >>> Cc: James Feist; openbmc@lists.ozlabs.org > > >>> Subject: Re: [phosphor-pid-control] scaling issue > > >>> > > >>> > > >>> Hi Patrick, > > >>> > > >>> > > >>> Since we use phosphor-sel-logger [1] at the same time, we do assign= min > > >and max of temp sensors to Dbus (max: 127, min: -128). So in the prese= nt case, > > >our temp value will be divided by 0.255 (also due to exponent is -3 he= re). This > > >will cause re-scaling problem. Therefore there should be an statement = to > > >distinguish sensor types. If it is "temp", then one assigns 0 to the m= in and max > > >from Dbus. > > >>> > > >>> > > >>> [1] > > >>> https://github.com/openbmc/phosphor-sel- > > >logger/blob/3d300fca24b30864b > > >>> 3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 > > >>> > > >>> > > >>> Hank > > >>> > > >>> > > >>> ________________________________ > > >>> From: Patrick Venture > > >>> Sent: Friday, August 30, 2019 1:47 AM > > >>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > > >>> Cc: James Feist; openbmc@lists.ozlabs.org > > >>> Subject: Re: [phosphor-pid-control] scaling issue > > >>> > > >>> PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged, a= nd > > >>> the srcrev bump should propagate into openbmc/openbmc in a day or t= wo. > > >>> > > >>> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7= =BF=B0) > > > wrote: > > >>>> > > >>>> Hi Patrick, > > >>>> > > >>>> I think it's OK to parse the config min&max for temp sensors. > > >>>> > > >>>> Any suggestion? > > >>>> > > >>>> Thanks, > > >>>> Hank > > >>>> > > >>>>> -----Original Message----- > > >>>>> From: openbmc [mailto:openbmc- > > >>>>> bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of H= ank > > >>>>> bounces+Liou > > >>>>> (=E5=8A=89=E6=99=89=E7=BF=B0) > > >>>>> Sent: Friday, August 23, 2019 4:31 PM > > >>>>> To: Patrick Venture ; James Feist > > >>>>> > > >>>>> Cc: openbmc@lists.ozlabs.org > > >>>>> Subject: RE: [phosphor-pid-control] scaling issue > > >>>>> > > >>>>> Hi Patrick, > > >>>>> > > >>>>>> -----Original Message----- > > >>>>>> From: Patrick Venture [mailto:venture@google.com] > > >>>>>> Sent: Wednesday, August 21, 2019 10:32 PM > > >>>>>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; James Feist > > >>>>>> > > >>>>>> Cc: openbmc@lists.ozlabs.org > > >>>>>> Subject: Re: [phosphor-pid-control] scaling issue > > >>>>>> > > >>>>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89=E7= =BF=B0) > > >>>>>> wrote: > > >>>>>>> > > >>>>>>> Hi All, > > >>>>>>> > > >>>>>>> > > >>>>>>> After commit [1], I found my temp sensor reading would be > > >>>>>>> re-scaled by > > >>>>>> multiplying 1 over 255, making temperature into unfamiliar unit. > > >>>>>> Also the fan rpm reading would lie in [0,1] interval, letting th= e > > >>>>>> fan input to be 0 (since the input value of fan is from an integ= er > > >>>>>> array [2]). Are these > > >>>>> normal behaviors? > > >>>>>> Or do I miss something? > > >>>>>> > > >>>>>> Are you using dbus configuration or json? If json, can you atta= ch your > > >config. > > >>>>>> Since you're saying it was working and now isn't, I'm assuming > > >>>>>> there's something about the config being treated differently wit= h > > >>>>>> the code changes in an unexpected way. > > >>>>> > > >>>>> I found pid control will first read min and max from dbus and the= n > > >>>>> (before commit [1]) revise them if > > >>>>> > > >>>>> info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.cp= p) > > >>>>> > > >>>>> After value initialization, the min and max would be the ones in > > >>>>> json file (Json file [3]). However, after commit [1] the min and > > >>>>> max values of config would not be fed into the fan control proces= s. > > >>>>> The scaling issue is originated from commit [4] with the aim to > > >>>>> treat fan rpm as percentage. It seems that commit [1] unexpectedl= y > > >>>>> affects temp sensors in the sense that the temp is the integer > > >>>>> reading not percentage. Before commit [1], it would not re-scale = the > > >temp reading since my min and max are 0 [6]. > > >>>>> > > >>>>> > > >>>>> > > >>>>> There is another issue with commit [1]. Now the fan rpm would be > > >>>>> something like > > >>>>> > > >>>>> 1500 / 20000 =3D 0.075 > > >>>>> > > >>>>> where rpm max 20000 is from dbus. However the fan input function > > >>>>> would transfer double into int, which is 0 for 0.075 (see [5]). > > >>>>> Hence the fan input is 0 not percentage. Is there something wrong= ? > > >>>>> > > >>>>> [1] https://github.com/openbmc/phosphor-pid- > > >>>>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > > >>>>> [2] https://github.com/openbmc/phosphor-pid- > > >>>>> > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro > > >>>>> lle > > >>>>> r.cpp#L86 > > >>>>> [3] > > >>>>> { > > >>>>> "name": "fan1", > > >>>>> "type": "fan", > > >>>>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > > >>>>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", > > >>>>> "min": 0, > > >>>>> "max": 255 > > >>>>> }, > > >>>>> { > > >>>>> "name": "temp1", > > >>>>> "type": "temp", > > >>>>> "readPath": > > >"/xyz/openbmc_project/sensors/temperature/temp1", > > >>>>> "writePath": "", > > >>>>> "min": 0, > > >>>>> "max": 0 > > >>>>> } > > >>>>> [4] https://github.com/openbmc/phosphor-pid- > > >>>>> control/commit/75eb769d351434547899186f73ff70ae00d7934a > > >>>>> [5] https://github.com/openbmc/phosphor-pid- > > >>>>> > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro > > >>>>> lle > > >>>>> r.cpp#L64 > > >>>>> [6] https://github.com/openbmc/phosphor-pid- > > >>>>> > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspass > > >>>>> i > > >>>>> ve.cpp#L158 > > >>>>> > > >>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> [1] > > >>>>>>> https://github.com/openbmc/phosphor-pid- > > >>>>>> control/commit/fc2e803f5d92569 > > >>>>>>> 44e18c7c878a441606b1f121c > > >>>>>>> > > >>>>>>> [2] > > >>>>>>> https://github.com/openbmc/phosphor-pid- > > >>>>>> control/blob/a7ec8350d17b70153 > > >>>>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > > >>>>>>> > > >>>>>>> > > >>>>>>> Thanks, > > >>>>>>> > > >>>>>>> > > >>>>>>> Hank Liou > > >>>>>>> > > >>>>>>> Quanta Computer Inc. > > >>>>>>> > > >>>>>>> > > >>>>> > > >>>>> Sincerely, > > >>>>> Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::441; helo=mail-pf1-x441.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="TITCHGdi"; dkim-atps=neutral Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46SXgC4nHbzF1Sd for ; Wed, 11 Sep 2019 03:52:39 +1000 (AEST) Received: by mail-pf1-x441.google.com with SMTP id x127so11971092pfb.7 for ; Tue, 10 Sep 2019 10:52:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=rj51HG3QF1UsdH1slDCYsFcoCLLvaDvqxPGvM62GQPw=; b=TITCHGdi1XMF2qYHOeol1nihVs9WkKBtC4AWrByATXMzuSte2kgn+qxXwoKxTrotxq grefb1hh7Q4x+yPzRr4mkP5/pWxjVHOrOjjnHMcWczT3QdPzQmyuSwWxr1/EEDTmWdZp EhSLhX+8CSICIbo3I186hM3Ytn08wIQYCpDVkWx1NyE2b/jMuH9iWFguDCCuZRqzAaSy 3Jbrm9lH6qQv5K/SneRI9qKbnMmy9tXbLCyCzBydNKvWvdzpA4DHW9UddbE3I5588NXC DZXCqnTrDeuTQ9ufhIbOWGFfT0Py+7tzyKt/1LuCtC8uqNJfEPJ5ytGxd8uGdkTggAVp VUoQ== 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=rj51HG3QF1UsdH1slDCYsFcoCLLvaDvqxPGvM62GQPw=; b=rxJUNWHLXpG678hzY45mAenxpJZVHs2YhWIFzBbOAhSL6ZNGKXljr584chCZf+3Yn9 Gdkpl3K7K3Sv8bJEQLnummVQk44sFoFKE8iPwZ8gqmnalrHeXLEz8zHNQM/z0FI+MXpA nVLicSuB8QvwmKGHBZEvEv+mZM1gN3/Ybs8McXQB1D8dMAcw8fGf0Hi3wWwSLOxSdNMS ZwIOapVynUfbiGRjFutD46WVzpaGqDFYIwk6EnnbszLshoVXXfZO/PERuySs/pWvsPuh Vqb11AyQfht19gROsIR4TWf6eFzLjc2uKN6ovtg4KpEAxs5+ojcMa0X4G1EUpMlks4Vb itoA== X-Gm-Message-State: APjAAAUxR0KEo0Bz7ltxwBtzGHmMoyOiUzTM85IWhzHseAeRhRodK6ap i3ZkrvfGf/wqPb48M00n+lUEmE3jGVoa3W80e1nHEw== X-Google-Smtp-Source: APXvYqzrzca2KOMWeGSekNKw9c2V5wJf3emNOpc/hMHgRCOhOzufEJOXAsotTje4WCE7kPZ+nN+sHnSkrBOSNjsOvPE= X-Received: by 2002:a63:1f1f:: with SMTP id f31mr28665981pgf.353.1568137955863; Tue, 10 Sep 2019 10:52:35 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> In-Reply-To: From: Patrick Venture Date: Tue, 10 Sep 2019 10:52:24 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Sep 2019 17:52:40 -0000 On Tue, Sep 10, 2019 at 7:52 AM Patrick Venture wrote: > > On Tue, Sep 10, 2019 at 7:39 AM Patrick Venture wrot= e: > > > > On Tue, Sep 10, 2019 at 1:02 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0)= wrote: > > > > > > >-----Original Message----- > > > >From: James Feist [mailto:james.feist@linux.intel.com] > > > >Sent: Tuesday, September 10, 2019 1:27 AM > > > >To: Patrick Venture ; Hank Liou (=E5=8A=89=E6=99= =89=E7=BF=B0) > > > > > > > >Cc: openbmc@lists.ozlabs.org > > > >Subject: Re: [phosphor-pid-control] scaling issue > > > > > > > >On 9/9/19 9:57 AM, Patrick Venture wrote: > > > >> On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89=E7= =BF=B0) > > > > wrote: > > > >>> > > > >>> Hi Patrick, > > > >>> > > > >>> > > > >>> Sorry for not clearly stating our problem. We have the following = issue: > > > >>> > > > >>> > > > >>> temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses 127.5= 7 as > > > >>> input for temp sensor -> > > > >>> > > > >>> stepwise fan table output 100 duty -> full speed fan > > > >> > > > >> Ok, so you're getting a dbus-based min/max value and you want to > > > >> ignore it? > > > > > > Yes, we want to ignore it. > > > > It looks like the sensor value scaling should be ignored for non-fans. > > Per https://github.com/openbmc/phosphor-pid-control/commit/75eb769d3514= 34547899186f73ff70ae00d7934a, > > this change was only meant to deal with a fan case where the goal > > looks like it was to treat the fan values as percentages on reading > > the sensors, and not only on writing them by leveraging the min/max > > json sometimes? > > > > I can change the dbuspassive constructor to set the values back to > > their input values (ignoring dbus) if the type is not "fan", but I'm > > not sure that makes sense because the real use-case isn't clear to me, > > and I know the scaling from dbus is gone: > > https://github.com/openbmc/phosphor-pid-control/search?utf8=3D%E2%9C%93= &q=3DinheritValueFromDbus&type=3D > > > > I'll submit the patch real quick, but I'm not sure it's the right > > long-term fix. I'd like to clean this up if possible so that we don't > > leverage "unused" features of a configuration and instead explicitly > > use them (or not). > > This patch should address what you're seeing. Overall, I think there > should be a larger change addressing the goal of the original change. > > https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-pid-control/+/25070 I decided to take on the larger change because chances are we might hit it some other way: https://gerrit.openbmc-project.xyz/c/25072/ This lets you specify a json configuration option that will ignore the MinValue/MaxValue properties on dbus. > > > > > > > > > > > > > >What is providing the dbus-based min/max? > > > > > > We use dbus min/max for phosphor-sel-logger utility. The dbus min/max= is provided by config file of phosphor-hwmon. > > > In our case, they are -128/127 respectively. > > > > > > I have an observation: > > > I found that while fan readpath is of the form "/sys/...", the fan in= put would not be rescaled. The same is for other sensors since the input va= lue would not enter rescaling function. > > > However, in our case we don't have a sys path for some thermal sensor= s. > > > > > > > > > > >> In the json configuration, if you set the values to 0, they are se= t to > > > >> the default (0), so there'd be no clean way to know to ignore dbus= in > > > >> this case, without adding a small check to only consider min/max f= rom > > > >> dbus when sensor is not temp/margin. Basically, only care about > > > >> min/max on dbus if type is "fan" > > > > > > > > > > I agree with the option to add a check since the min/max is only for = fan now. > > > > > > >Why is the dbus-based min/max even there if you don't plan on using = it? > > > > > > > >> > > > >> If that's right, James do you have a cycle to look at this one-lin= er? > > > >> > > > >>> > > > >>> > > > >>> As a result, fan will be at full speed while temp is low. Before = the commit > > > >fc2e803 [1], this won't happen. The root cause is that, before fc2e8= 03, pid will > > > >use config min/max, which is 0 in our case. This would not trigger s= caling > > > >function, namely scaleSensorReading, in util.cpp. However, after suc= h commit, > > > >min/max would be non-zero (-128/127 from DBus). This will trigger sc= aling > > > >function. > > > >>> > > > >>> > > > >>> [1] > > > >>> https://github.com/openbmc/phosphor-pid- > > > >control/commit/fc2e803f5d9256 > > > >>> 944e18c7c878a441606b1f121c > > > >>> > > > >>> > > > >>> Hank > > > >>> > > > >>> > > > >>> ________________________________ > > > >>> From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > > > >>> Sent: Monday, September 2, 2019 4:52 PM > > > >>> To: Patrick Venture > > > >>> Cc: James Feist; openbmc@lists.ozlabs.org > > > >>> Subject: Re: [phosphor-pid-control] scaling issue > > > >>> > > > >>> > > > >>> Hi Patrick, > > > >>> > > > >>> > > > >>> Since we use phosphor-sel-logger [1] at the same time, we do assi= gn min > > > >and max of temp sensors to Dbus (max: 127, min: -128). So in the pre= sent case, > > > >our temp value will be divided by 0.255 (also due to exponent is -3 = here). This > > > >will cause re-scaling problem. Therefore there should be an statemen= t to > > > >distinguish sensor types. If it is "temp", then one assigns 0 to the= min and max > > > >from Dbus. > > > >>> > > > >>> > > > >>> [1] > > > >>> https://github.com/openbmc/phosphor-sel- > > > >logger/blob/3d300fca24b30864b > > > >>> 3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 > > > >>> > > > >>> > > > >>> Hank > > > >>> > > > >>> > > > >>> ________________________________ > > > >>> From: Patrick Venture > > > >>> Sent: Friday, August 30, 2019 1:47 AM > > > >>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > > > >>> Cc: James Feist; openbmc@lists.ozlabs.org > > > >>> Subject: Re: [phosphor-pid-control] scaling issue > > > >>> > > > >>> PTAL - https://gerrit.openbmc-project.xyz/24827 - this is merged,= and > > > >>> the srcrev bump should propagate into openbmc/openbmc in a day or= two. > > > >>> > > > >>> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89=E7= =BF=B0) > > > > wrote: > > > >>>> > > > >>>> Hi Patrick, > > > >>>> > > > >>>> I think it's OK to parse the config min&max for temp sensors. > > > >>>> > > > >>>> Any suggestion? > > > >>>> > > > >>>> Thanks, > > > >>>> Hank > > > >>>> > > > >>>>> -----Original Message----- > > > >>>>> From: openbmc [mailto:openbmc- > > > >>>>> bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf Of= Hank > > > >>>>> bounces+Liou > > > >>>>> (=E5=8A=89=E6=99=89=E7=BF=B0) > > > >>>>> Sent: Friday, August 23, 2019 4:31 PM > > > >>>>> To: Patrick Venture ; James Feist > > > >>>>> > > > >>>>> Cc: openbmc@lists.ozlabs.org > > > >>>>> Subject: RE: [phosphor-pid-control] scaling issue > > > >>>>> > > > >>>>> Hi Patrick, > > > >>>>> > > > >>>>>> -----Original Message----- > > > >>>>>> From: Patrick Venture [mailto:venture@google.com] > > > >>>>>> Sent: Wednesday, August 21, 2019 10:32 PM > > > >>>>>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; James Feist > > > >>>>>> > > > >>>>>> Cc: openbmc@lists.ozlabs.org > > > >>>>>> Subject: Re: [phosphor-pid-control] scaling issue > > > >>>>>> > > > >>>>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99=89= =E7=BF=B0) > > > >>>>>> wrote: > > > >>>>>>> > > > >>>>>>> Hi All, > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> After commit [1], I found my temp sensor reading would be > > > >>>>>>> re-scaled by > > > >>>>>> multiplying 1 over 255, making temperature into unfamiliar uni= t. > > > >>>>>> Also the fan rpm reading would lie in [0,1] interval, letting = the > > > >>>>>> fan input to be 0 (since the input value of fan is from an int= eger > > > >>>>>> array [2]). Are these > > > >>>>> normal behaviors? > > > >>>>>> Or do I miss something? > > > >>>>>> > > > >>>>>> Are you using dbus configuration or json? If json, can you at= tach your > > > >config. > > > >>>>>> Since you're saying it was working and now isn't, I'm assuming > > > >>>>>> there's something about the config being treated differently w= ith > > > >>>>>> the code changes in an unexpected way. > > > >>>>> > > > >>>>> I found pid control will first read min and max from dbus and t= hen > > > >>>>> (before commit [1]) revise them if > > > >>>>> > > > >>>>> info->min !=3D conf::inheritValueFromDbus (in dbus/dbuspassive.= cpp) > > > >>>>> > > > >>>>> After value initialization, the min and max would be the ones i= n > > > >>>>> json file (Json file [3]). However, after commit [1] the min an= d > > > >>>>> max values of config would not be fed into the fan control proc= ess. > > > >>>>> The scaling issue is originated from commit [4] with the aim to > > > >>>>> treat fan rpm as percentage. It seems that commit [1] unexpecte= dly > > > >>>>> affects temp sensors in the sense that the temp is the integer > > > >>>>> reading not percentage. Before commit [1], it would not re-scal= e the > > > >temp reading since my min and max are 0 [6]. > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> There is another issue with commit [1]. Now the fan rpm would b= e > > > >>>>> something like > > > >>>>> > > > >>>>> 1500 / 20000 =3D 0.075 > > > >>>>> > > > >>>>> where rpm max 20000 is from dbus. However the fan input functio= n > > > >>>>> would transfer double into int, which is 0 for 0.075 (see [5]). > > > >>>>> Hence the fan input is 0 not percentage. Is there something wro= ng? > > > >>>>> > > > >>>>> [1] https://github.com/openbmc/phosphor-pid- > > > >>>>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > > > >>>>> [2] https://github.com/openbmc/phosphor-pid- > > > >>>>> > > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro > > > >>>>> lle > > > >>>>> r.cpp#L86 > > > >>>>> [3] > > > >>>>> { > > > >>>>> "name": "fan1", > > > >>>>> "type": "fan", > > > >>>>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input", > > > >>>>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", > > > >>>>> "min": 0, > > > >>>>> "max": 255 > > > >>>>> }, > > > >>>>> { > > > >>>>> "name": "temp1", > > > >>>>> "type": "temp", > > > >>>>> "readPath": > > > >"/xyz/openbmc_project/sensors/temperature/temp1", > > > >>>>> "writePath": "", > > > >>>>> "min": 0, > > > >>>>> "max": 0 > > > >>>>> } > > > >>>>> [4] https://github.com/openbmc/phosphor-pid- > > > >>>>> control/commit/75eb769d351434547899186f73ff70ae00d7934a > > > >>>>> [5] https://github.com/openbmc/phosphor-pid- > > > >>>>> > > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancontro > > > >>>>> lle > > > >>>>> r.cpp#L64 > > > >>>>> [6] https://github.com/openbmc/phosphor-pid- > > > >>>>> > > > >control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspass > > > >>>>> i > > > >>>>> ve.cpp#L158 > > > >>>>> > > > >>>>>> > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> [1] > > > >>>>>>> https://github.com/openbmc/phosphor-pid- > > > >>>>>> control/commit/fc2e803f5d92569 > > > >>>>>>> 44e18c7c878a441606b1f121c > > > >>>>>>> > > > >>>>>>> [2] > > > >>>>>>> https://github.com/openbmc/phosphor-pid- > > > >>>>>> control/blob/a7ec8350d17b70153 > > > >>>>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> Thanks, > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> Hank Liou > > > >>>>>>> > > > >>>>>>> Quanta Computer Inc. > > > >>>>>>> > > > >>>>>>> > > > >>>>> > > > >>>>> Sincerely, > > > >>>>> Hank From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=quantatw.com (client-ip=220.128.79.91; helo=mx02.quantatw.com; envelope-from=prvs=1558554e7=hank.liou@quantatw.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=quantatw.com Received: from mx02.quantatw.com (mx02.quantatw.com [220.128.79.91]) by lists.ozlabs.org (Postfix) with ESMTP id 46X03d2YCPzF45p for ; Mon, 16 Sep 2019 18:37:12 +1000 (AEST) Received: from unknown (HELO mailbx09.quanta.corp) ([10.243.91.106]) by mx02.quantatw.com with ESMTP; 16 Sep 2019 16:37:08 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx09.quanta.corp (10.243.91.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 16 Sep 2019 16:37:08 +0800 Received: from mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81]) by mailbx09.quanta.corp ([fe80::c501:1c2b:62fc:dd81%6]) with mapi id 15.01.1713.004; Mon, 16 Sep 2019 16:37:08 +0800 From: =?utf-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= To: Patrick Venture CC: James Feist , "openbmc@lists.ozlabs.org" Subject: RE: [phosphor-pid-control] scaling issue Thread-Topic: [phosphor-pid-control] scaling issue Thread-Index: AQHVV/XbtwEoqXVk+kGbiKtv2uj0UqcFJGgAgAE9VwCAC0qVsIAAQT+AgAYx+NeABJmE/IAGcF0AgAAIKACAAWYjoP///XOAgAADkACAADI+AIAJWILA Date: Mon, 16 Sep 2019 08:37:07 +0000 Message-ID: <5a46202d21694717b1aa40b4ef5105ea@quantatw.com> References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> In-Reply-To: Accept-Language: en-US, zh-TW Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Sep 2019 08:37:19 -0000 SGkgUGF0cmljaywNCg0KVGhhbmtzIGZvciB5b3VyIGhlbHAuIFRoaXMgY2hhbmdlIGRvZXMgc29s dmUgdGhlIGlzc3VlLg0KDQpIYW5rDQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZy b206IFBhdHJpY2sgVmVudHVyZSBbbWFpbHRvOnZlbnR1cmVAZ29vZ2xlLmNvbV0NCj5TZW50OiBX ZWRuZXNkYXksIFNlcHRlbWJlciAxMSwgMjAxOSAxOjUyIEFNDQo+VG86IEhhbmsgTGlvdSAo5YqJ 5pmJ57+wKSA8SGFuay5MaW91QHF1YW50YXR3LmNvbT4NCj5DYzogSmFtZXMgRmVpc3QgPGphbWVz LmZlaXN0QGxpbnV4LmludGVsLmNvbT47IG9wZW5ibWNAbGlzdHMub3psYWJzLm9yZw0KPlN1Ympl Y3Q6IFJlOiBbcGhvc3Bob3ItcGlkLWNvbnRyb2xdIHNjYWxpbmcgaXNzdWUNCj4NCj5PbiBUdWUs IFNlcCAxMCwgMjAxOSBhdCA3OjUyIEFNIFBhdHJpY2sgVmVudHVyZSA8dmVudHVyZUBnb29nbGUu Y29tPg0KPndyb3RlOg0KPj4NCj4+IE9uIFR1ZSwgU2VwIDEwLCAyMDE5IGF0IDc6MzkgQU0gUGF0 cmljayBWZW50dXJlIDx2ZW50dXJlQGdvb2dsZS5jb20+DQo+d3JvdGU6DQo+PiA+DQo+PiA+IE9u IFR1ZSwgU2VwIDEwLCAyMDE5IGF0IDE6MDIgQU0gSGFuayBMaW91ICjlionmmYnnv7ApDQo+PEhh bmsuTGlvdUBxdWFudGF0dy5jb20+IHdyb3RlOg0KPj4gPiA+DQo+PiA+ID4gPi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+PiA+ID4gPkZyb206IEphbWVzIEZlaXN0IFttYWlsdG86amFtZXMu ZmVpc3RAbGludXguaW50ZWwuY29tXQ0KPj4gPiA+ID5TZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIg MTAsIDIwMTkgMToyNyBBTQ0KPj4gPiA+ID5UbzogUGF0cmljayBWZW50dXJlIDx2ZW50dXJlQGdv b2dsZS5jb20+OyBIYW5rIExpb3UgKOWKieaZiee/sCkNCj4+ID4gPiA+PEhhbmsuTGlvdUBxdWFu dGF0dy5jb20+DQo+PiA+ID4gPkNjOiBvcGVuYm1jQGxpc3RzLm96bGFicy5vcmcNCj4+ID4gPiA+ U3ViamVjdDogUmU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGluZyBpc3N1ZQ0KPj4gPiA+ ID4NCj4+ID4gPiA+T24gOS85LzE5IDk6NTcgQU0sIFBhdHJpY2sgVmVudHVyZSB3cm90ZToNCj4+ ID4gPiA+PiBPbiBUaHUsIFNlcCA1LCAyMDE5IGF0IDEyOjI1IEFNIEhhbmsgTGlvdSAo5YqJ5pmJ 57+wKQ0KPj4gPiA+ID48SGFuay5MaW91QHF1YW50YXR3LmNvbT4gd3JvdGU6DQo+PiA+ID4gPj4+ DQo+PiA+ID4gPj4+IEhpIFBhdHJpY2ssDQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+DQo+PiA+ID4g Pj4+IFNvcnJ5IGZvciBub3QgY2xlYXJseSBzdGF0aW5nIG91ciBwcm9ibGVtLiBXZSBoYXZlIHRo ZSBmb2xsb3dpbmcNCj5pc3N1ZToNCj4+ID4gPiA+Pj4NCj4+ID4gPiA+Pj4NCj4+ID4gPiA+Pj4g dGVtcCBzZW5zb3IgZ2V0cyAzMShDKSAtPiAzMSAvIDAuMjU1ID0gMTIxLjU3IC0+IHBpZCB1c2Vz DQo+PiA+ID4gPj4+IDEyNy41NyBhcyBpbnB1dCBmb3IgdGVtcCBzZW5zb3IgLT4NCj4+ID4gPiA+ Pj4NCj4+ID4gPiA+Pj4gc3RlcHdpc2UgZmFuIHRhYmxlIG91dHB1dCAxMDAgZHV0eSAtPiBmdWxs IHNwZWVkIGZhbg0KPj4gPiA+ID4+DQo+PiA+ID4gPj4gT2ssIHNvIHlvdSdyZSBnZXR0aW5nIGEg ZGJ1cy1iYXNlZCBtaW4vbWF4IHZhbHVlIGFuZCB5b3Ugd2FudA0KPj4gPiA+ID4+IHRvIGlnbm9y ZSBpdD8NCj4+ID4gPg0KPj4gPiA+IFllcywgd2Ugd2FudCB0byBpZ25vcmUgaXQuDQo+PiA+DQo+ PiA+IEl0IGxvb2tzIGxpa2UgdGhlIHNlbnNvciB2YWx1ZSBzY2FsaW5nIHNob3VsZCBiZSBpZ25v cmVkIGZvciBub24tZmFucy4NCj4+ID4gUGVyDQo+PiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVu Ym1jL3Bob3NwaG9yLXBpZC0NCj5jb250cm9sL2NvbW1pdC83NWViNzY5ZDM1MTQzDQo+PiA+IDQ1 NDc4OTkxODZmNzNmZjcwYWUwMGQ3OTM0YSwgdGhpcyBjaGFuZ2Ugd2FzIG9ubHkgbWVhbnQgdG8g ZGVhbCB3aXRoDQo+PiA+IGEgZmFuIGNhc2Ugd2hlcmUgdGhlIGdvYWwgbG9va3MgbGlrZSBpdCB3 YXMgdG8gdHJlYXQgdGhlIGZhbiB2YWx1ZXMNCj4+ID4gYXMgcGVyY2VudGFnZXMgb24gcmVhZGlu ZyB0aGUgc2Vuc29ycywgYW5kIG5vdCBvbmx5IG9uIHdyaXRpbmcgdGhlbQ0KPj4gPiBieSBsZXZl cmFnaW5nIHRoZSBtaW4vbWF4IGpzb24gc29tZXRpbWVzPw0KPj4gPg0KPj4gPiBJIGNhbiBjaGFu Z2UgdGhlIGRidXNwYXNzaXZlIGNvbnN0cnVjdG9yIHRvIHNldCB0aGUgdmFsdWVzIGJhY2sgdG8N Cj4+ID4gdGhlaXIgaW5wdXQgdmFsdWVzIChpZ25vcmluZyBkYnVzKSBpZiB0aGUgdHlwZSBpcyBu b3QgImZhbiIsIGJ1dCBJJ20NCj4+ID4gbm90IHN1cmUgdGhhdCBtYWtlcyBzZW5zZSBiZWNhdXNl IHRoZSByZWFsIHVzZS1jYXNlIGlzbid0IGNsZWFyIHRvDQo+PiA+IG1lLCBhbmQgSSBrbm93IHRo ZSBzY2FsaW5nIGZyb20gZGJ1cyBpcyBnb25lOg0KPj4gPiBodHRwczovL2dpdGh1Yi5jb20vb3Bl bmJtYy9waG9zcGhvci1waWQtDQo+Y29udHJvbC9zZWFyY2g/dXRmOD0lRTIlOUMlOQ0KPj4gPiAz JnE9aW5oZXJpdFZhbHVlRnJvbURidXMmdHlwZT0NCj4+ID4NCj4+ID4gSSdsbCBzdWJtaXQgdGhl IHBhdGNoIHJlYWwgcXVpY2ssIGJ1dCBJJ20gbm90IHN1cmUgaXQncyB0aGUgcmlnaHQNCj4+ID4g bG9uZy10ZXJtIGZpeC4gIEknZCBsaWtlIHRvIGNsZWFuIHRoaXMgdXAgaWYgcG9zc2libGUgc28g dGhhdCB3ZQ0KPj4gPiBkb24ndCBsZXZlcmFnZSAidW51c2VkIiBmZWF0dXJlcyBvZiBhIGNvbmZp Z3VyYXRpb24gYW5kIGluc3RlYWQNCj4+ID4gZXhwbGljaXRseSB1c2UgdGhlbSAob3Igbm90KS4N Cj4+DQo+PiBUaGlzIHBhdGNoIHNob3VsZCBhZGRyZXNzIHdoYXQgeW91J3JlIHNlZWluZy4gIE92 ZXJhbGwsIEkgdGhpbmsgdGhlcmUNCj4+IHNob3VsZCBiZSBhIGxhcmdlciBjaGFuZ2UgYWRkcmVz c2luZyB0aGUgZ29hbCBvZiB0aGUgb3JpZ2luYWwgY2hhbmdlLg0KPj4NCj4+IGh0dHBzOi8vZ2Vy cml0Lm9wZW5ibWMtcHJvamVjdC54eXovYy9vcGVuYm1jL3Bob3NwaG9yLXBpZC1jb250cm9sLysv MjUNCj4+IDA3MA0KPg0KPkkgZGVjaWRlZCB0byB0YWtlIG9uIHRoZSBsYXJnZXIgY2hhbmdlIGJl Y2F1c2UgY2hhbmNlcyBhcmUgd2UgbWlnaHQgaGl0IGl0DQo+c29tZSBvdGhlciB3YXk6DQo+aHR0 cHM6Ly9nZXJyaXQub3BlbmJtYy1wcm9qZWN0Lnh5ei9jLzI1MDcyLw0KPg0KPlRoaXMgbGV0cyB5 b3Ugc3BlY2lmeSBhIGpzb24gY29uZmlndXJhdGlvbiBvcHRpb24gdGhhdCB3aWxsIGlnbm9yZSB0 aGUNCj5NaW5WYWx1ZS9NYXhWYWx1ZSBwcm9wZXJ0aWVzIG9uIGRidXMuDQo+DQo+Pg0KPj4gPg0K Pj4gPiA+DQo+PiA+ID4gPg0KPj4gPiA+ID5XaGF0IGlzIHByb3ZpZGluZyB0aGUgZGJ1cy1iYXNl ZCBtaW4vbWF4Pw0KPj4gPiA+DQo+PiA+ID4gV2UgdXNlIGRidXMgbWluL21heCBmb3IgcGhvc3Bo b3Itc2VsLWxvZ2dlciB1dGlsaXR5LiBUaGUgZGJ1cyBtaW4vbWF4DQo+aXMgcHJvdmlkZWQgYnkg Y29uZmlnIGZpbGUgb2YgcGhvc3Bob3ItaHdtb24uDQo+PiA+ID4gSW4gb3VyIGNhc2UsIHRoZXkg YXJlIC0xMjgvMTI3IHJlc3BlY3RpdmVseS4NCj4+ID4gPg0KPj4gPiA+IEkgaGF2ZSBhbiBvYnNl cnZhdGlvbjoNCj4+ID4gPiBJIGZvdW5kIHRoYXQgd2hpbGUgZmFuIHJlYWRwYXRoIGlzIG9mIHRo ZSBmb3JtICIvc3lzLy4uLiIsIHRoZSBmYW4gaW5wdXQNCj53b3VsZCBub3QgYmUgcmVzY2FsZWQu IFRoZSBzYW1lIGlzIGZvciBvdGhlciBzZW5zb3JzIHNpbmNlIHRoZSBpbnB1dCB2YWx1ZQ0KPndv dWxkIG5vdCBlbnRlciByZXNjYWxpbmcgZnVuY3Rpb24uDQo+PiA+ID4gSG93ZXZlciwgaW4gb3Vy IGNhc2Ugd2UgZG9uJ3QgaGF2ZSBhIHN5cyBwYXRoIGZvciBzb21lIHRoZXJtYWwgc2Vuc29ycy4N Cj4+ID4gPg0KPj4gPiA+ID4NCj4+ID4gPiA+PiBJbiB0aGUganNvbiBjb25maWd1cmF0aW9uLCBp ZiB5b3Ugc2V0IHRoZSB2YWx1ZXMgdG8gMCwgdGhleSBhcmUNCj4+ID4gPiA+PiBzZXQgdG8gdGhl IGRlZmF1bHQgKDApLCBzbyB0aGVyZSdkIGJlIG5vIGNsZWFuIHdheSB0byBrbm93IHRvDQo+PiA+ ID4gPj4gaWdub3JlIGRidXMgaW4gdGhpcyBjYXNlLCB3aXRob3V0IGFkZGluZyBhIHNtYWxsIGNo ZWNrIHRvIG9ubHkNCj4+ID4gPiA+PiBjb25zaWRlciBtaW4vbWF4IGZyb20gZGJ1cyB3aGVuIHNl bnNvciBpcyBub3QgdGVtcC9tYXJnaW4uDQo+PiA+ID4gPj4gQmFzaWNhbGx5LCBvbmx5IGNhcmUg YWJvdXQgbWluL21heCBvbiBkYnVzIGlmIHR5cGUgaXMgImZhbiINCj4+ID4gPiA+DQo+PiA+ID4N Cj4+ID4gPiBJIGFncmVlIHdpdGggdGhlIG9wdGlvbiB0byBhZGQgYSBjaGVjayBzaW5jZSB0aGUg bWluL21heCBpcyBvbmx5IGZvciBmYW4NCj5ub3cuDQo+PiA+ID4NCj4+ID4gPiA+V2h5IGlzIHRo ZSBkYnVzLWJhc2VkIG1pbi9tYXggZXZlbiB0aGVyZSBpZiB5b3UgZG9uJ3QgcGxhbiBvbiB1c2lu ZyBpdD8NCj4+ID4gPiA+DQo+PiA+ID4gPj4NCj4+ID4gPiA+PiBJZiB0aGF0J3MgcmlnaHQsIEph bWVzIGRvIHlvdSBoYXZlIGEgY3ljbGUgdG8gbG9vayBhdCB0aGlzIG9uZS1saW5lcj8NCj4+ID4g PiA+Pg0KPj4gPiA+ID4+Pg0KPj4gPiA+ID4+Pg0KPj4gPiA+ID4+PiBBcyBhIHJlc3VsdCwgZmFu IHdpbGwgYmUgYXQgZnVsbCBzcGVlZCB3aGlsZSB0ZW1wIGlzIGxvdy4NCj4+ID4gPiA+Pj4gQmVm b3JlIHRoZSBjb21taXQNCj4+ID4gPiA+ZmMyZTgwMyBbMV0sIHRoaXMgd29uJ3QgaGFwcGVuLiBU aGUgcm9vdCBjYXVzZSBpcyB0aGF0LCBiZWZvcmUNCj4+ID4gPiA+ZmMyZTgwMywgcGlkIHdpbGwg dXNlIGNvbmZpZyBtaW4vbWF4LCB3aGljaCBpcyAwIGluIG91ciBjYXNlLg0KPj4gPiA+ID5UaGlz IHdvdWxkIG5vdCB0cmlnZ2VyIHNjYWxpbmcgZnVuY3Rpb24sIG5hbWVseQ0KPj4gPiA+ID5zY2Fs ZVNlbnNvclJlYWRpbmcsIGluIHV0aWwuY3BwLiBIb3dldmVyLCBhZnRlciBzdWNoIGNvbW1pdCwN Cj4+ID4gPiA+bWluL21heCB3b3VsZCBiZSBub24temVybyAoLTEyOC8xMjcgZnJvbSBEQnVzKS4g VGhpcyB3aWxsIHRyaWdnZXINCj5zY2FsaW5nIGZ1bmN0aW9uLg0KPj4gPiA+ID4+Pg0KPj4gPiA+ ID4+Pg0KPj4gPiA+ID4+PiBbMV0NCj4+ID4gPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL29wZW5i bWMvcGhvc3Bob3ItcGlkLQ0KPj4gPiA+ID5jb250cm9sL2NvbW1pdC9mYzJlODAzZjVkOTI1Ng0K Pj4gPiA+ID4+PiA5NDRlMThjN2M4NzhhNDQxNjA2YjFmMTIxYw0KPj4gPiA+ID4+Pg0KPj4gPiA+ ID4+Pg0KPj4gPiA+ID4+PiBIYW5rDQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiA+ID4gPj4+IEZyb206IEhhbmsg TGlvdSAo5YqJ5pmJ57+wKQ0KPj4gPiA+ID4+PiBTZW50OiBNb25kYXksIFNlcHRlbWJlciAyLCAy MDE5IDQ6NTIgUE0NCj4+ID4gPiA+Pj4gVG86IFBhdHJpY2sgVmVudHVyZQ0KPj4gPiA+ID4+PiBD YzogSmFtZXMgRmVpc3Q7IG9wZW5ibWNAbGlzdHMub3psYWJzLm9yZw0KPj4gPiA+ID4+PiBTdWJq ZWN0OiBSZTogW3Bob3NwaG9yLXBpZC1jb250cm9sXSBzY2FsaW5nIGlzc3VlDQo+PiA+ID4gPj4+ DQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+IEhpIFBhdHJpY2ssDQo+PiA+ID4gPj4+DQo+PiA+ID4g Pj4+DQo+PiA+ID4gPj4+IFNpbmNlIHdlIHVzZSBwaG9zcGhvci1zZWwtbG9nZ2VyIFsxXSBhdCB0 aGUgc2FtZSB0aW1lLCB3ZSBkbw0KPj4gPiA+ID4+PiBhc3NpZ24gbWluDQo+PiA+ID4gPmFuZCBt YXggb2YgdGVtcCBzZW5zb3JzIHRvIERidXMgKG1heDogMTI3LCBtaW46IC0xMjgpLiBTbyBpbiB0 aGUNCj4+ID4gPiA+cHJlc2VudCBjYXNlLCBvdXIgdGVtcCB2YWx1ZSB3aWxsIGJlIGRpdmlkZWQg YnkgMC4yNTUgKGFsc28gZHVlDQo+PiA+ID4gPnRvIGV4cG9uZW50IGlzIC0zIGhlcmUpLiBUaGlz IHdpbGwgY2F1c2UgcmUtc2NhbGluZyBwcm9ibGVtLg0KPj4gPiA+ID5UaGVyZWZvcmUgdGhlcmUg c2hvdWxkIGJlIGFuIHN0YXRlbWVudCB0byBkaXN0aW5ndWlzaCBzZW5zb3INCj4+ID4gPiA+dHlw ZXMuIElmIGl0IGlzICJ0ZW1wIiwgdGhlbiBvbmUgYXNzaWducyAwIHRvIHRoZSBtaW4gYW5kIG1h eCBmcm9tIERidXMuDQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+IFsxXQ0KPj4g PiA+ID4+PiBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1zZWwtDQo+PiA+ID4g PmxvZ2dlci9ibG9iLzNkMzAwZmNhMjRiMzA4NjRiDQo+PiA+ID4gPj4+IDNlOWE0ZjU3NjhjZmU1 ZTc2OTQ1OGFlL2luY2x1ZGUvc2Vuc29ydXRpbHMuaHBwI0w1OQ0KPj4gPiA+ID4+Pg0KPj4gPiA+ ID4+Pg0KPj4gPiA+ID4+PiBIYW5rDQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiA+ID4gPj4+IEZyb206IFBhdHJp Y2sgVmVudHVyZSA8dmVudHVyZUBnb29nbGUuY29tPg0KPj4gPiA+ID4+PiBTZW50OiBGcmlkYXks IEF1Z3VzdCAzMCwgMjAxOSAxOjQ3IEFNDQo+PiA+ID4gPj4+IFRvOiBIYW5rIExpb3UgKOWKieaZ iee/sCkNCj4+ID4gPiA+Pj4gQ2M6IEphbWVzIEZlaXN0OyBvcGVuYm1jQGxpc3RzLm96bGFicy5v cmcNCj4+ID4gPiA+Pj4gU3ViamVjdDogUmU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGlu ZyBpc3N1ZQ0KPj4gPiA+ID4+Pg0KPj4gPiA+ID4+PiBQVEFMIC0gaHR0cHM6Ly9nZXJyaXQub3Bl bmJtYy1wcm9qZWN0Lnh5ei8yNDgyNyAtIHRoaXMgaXMNCj4+ID4gPiA+Pj4gbWVyZ2VkLCBhbmQg dGhlIHNyY3JldiBidW1wIHNob3VsZCBwcm9wYWdhdGUgaW50bw0KPm9wZW5ibWMvb3BlbmJtYyBp biBhIGRheSBvciB0d28uDQo+PiA+ID4gPj4+DQo+PiA+ID4gPj4+IE9uIFdlZCwgQXVnIDI4LCAy MDE5IGF0IDExOjAwIFBNIEhhbmsgTGlvdSAo5YqJ5pmJ57+wKQ0KPj4gPiA+ID48SGFuay5MaW91 QHF1YW50YXR3LmNvbT4gd3JvdGU6DQo+PiA+ID4gPj4+Pg0KPj4gPiA+ID4+Pj4gSGkgUGF0cmlj aywNCj4+ID4gPiA+Pj4+DQo+PiA+ID4gPj4+PiBJIHRoaW5rIGl0J3MgT0sgdG8gcGFyc2UgdGhl IGNvbmZpZyBtaW4mbWF4IGZvciB0ZW1wIHNlbnNvcnMuDQo+PiA+ID4gPj4+Pg0KPj4gPiA+ID4+ Pj4gQW55IHN1Z2dlc3Rpb24/DQo+PiA+ID4gPj4+Pg0KPj4gPiA+ID4+Pj4gVGhhbmtzLA0KPj4g PiA+ID4+Pj4gSGFuaw0KPj4gPiA+ID4+Pj4NCj4+ID4gPiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPj4gPiA+ID4+Pj4+IEZyb206IG9wZW5ibWMgW21haWx0bzpvcGVuYm1jLQ0K Pj4gPiA+ID4+Pj4+IGJvdW5jZXMraGFuay5saW91PXF1YW50YXR3LmNvbUBsaXN0cy5vemxhYnMu b3JnXSBPbiBCZWhhbGYNCj4+ID4gPiA+Pj4+PiBib3VuY2VzK09mIEhhbmsgTGlvdQ0KPj4gPiA+ ID4+Pj4+ICjlionmmYnnv7ApDQo+PiA+ID4gPj4+Pj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMjMs IDIwMTkgNDozMSBQTQ0KPj4gPiA+ID4+Pj4+IFRvOiBQYXRyaWNrIFZlbnR1cmUgPHZlbnR1cmVA Z29vZ2xlLmNvbT47IEphbWVzIEZlaXN0DQo+PiA+ID4gPj4+Pj4gPGphbWVzLmZlaXN0QGxpbnV4 LmludGVsLmNvbT4NCj4+ID4gPiA+Pj4+PiBDYzogb3BlbmJtY0BsaXN0cy5vemxhYnMub3JnDQo+ PiA+ID4gPj4+Pj4gU3ViamVjdDogUkU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGluZyBp c3N1ZQ0KPj4gPiA+ID4+Pj4+DQo+PiA+ID4gPj4+Pj4gSGkgUGF0cmljaywNCj4+ID4gPiA+Pj4+ Pg0KPj4gPiA+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiA+ID4+Pj4+ PiBGcm9tOiBQYXRyaWNrIFZlbnR1cmUgW21haWx0bzp2ZW50dXJlQGdvb2dsZS5jb21dDQo+PiA+ ID4gPj4+Pj4+IFNlbnQ6IFdlZG5lc2RheSwgQXVndXN0IDIxLCAyMDE5IDEwOjMyIFBNDQo+PiA+ ID4gPj4+Pj4+IFRvOiBIYW5rIExpb3UgKOWKieaZiee/sCkgPEhhbmsuTGlvdUBxdWFudGF0dy5j b20+OyBKYW1lcw0KPkZlaXN0DQo+PiA+ID4gPj4+Pj4+IDxqYW1lcy5mZWlzdEBsaW51eC5pbnRl bC5jb20+DQo+PiA+ID4gPj4+Pj4+IENjOiBvcGVuYm1jQGxpc3RzLm96bGFicy5vcmcNCj4+ID4g PiA+Pj4+Pj4gU3ViamVjdDogUmU6IFtwaG9zcGhvci1waWQtY29udHJvbF0gc2NhbGluZyBpc3N1 ZQ0KPj4gPiA+ID4+Pj4+Pg0KPj4gPiA+ID4+Pj4+PiBPbiBXZWQsIEF1ZyAyMSwgMjAxOSBhdCAx OjExIEFNIEhhbmsgTGlvdSAo5YqJ5pmJ57+wKQ0KPj4gPiA+ID4+Pj4+PiA8SGFuay5MaW91QHF1 YW50YXR3LmNvbT4gd3JvdGU6DQo+PiA+ID4gPj4+Pj4+Pg0KPj4gPiA+ID4+Pj4+Pj4gSGkgQWxs LA0KPj4gPiA+ID4+Pj4+Pj4NCj4+ID4gPiA+Pj4+Pj4+DQo+PiA+ID4gPj4+Pj4+PiBBZnRlciBj b21taXQgWzFdLCBJIGZvdW5kIG15IHRlbXAgc2Vuc29yIHJlYWRpbmcgd291bGQgYmUNCj4+ID4g PiA+Pj4+Pj4+IHJlLXNjYWxlZCBieQ0KPj4gPiA+ID4+Pj4+PiBtdWx0aXBseWluZyAxIG92ZXIg MjU1LCBtYWtpbmcgdGVtcGVyYXR1cmUgaW50byB1bmZhbWlsaWFyIHVuaXQuDQo+PiA+ID4gPj4+ Pj4+IEFsc28gdGhlIGZhbiBycG0gcmVhZGluZyB3b3VsZCBsaWUgaW4gWzAsMV0gaW50ZXJ2YWws DQo+PiA+ID4gPj4+Pj4+IGxldHRpbmcgdGhlIGZhbiBpbnB1dCB0byBiZSAwIChzaW5jZSB0aGUg aW5wdXQgdmFsdWUgb2YgZmFuDQo+PiA+ID4gPj4+Pj4+IGlzIGZyb20gYW4gaW50ZWdlciBhcnJh eSBbMl0pLiBBcmUgdGhlc2UNCj4+ID4gPiA+Pj4+PiBub3JtYWwgYmVoYXZpb3JzPw0KPj4gPiA+ ID4+Pj4+PiBPciBkbyBJIG1pc3Mgc29tZXRoaW5nPw0KPj4gPiA+ID4+Pj4+Pg0KPj4gPiA+ID4+ Pj4+PiBBcmUgeW91IHVzaW5nIGRidXMgY29uZmlndXJhdGlvbiBvciBqc29uPyAgSWYganNvbiwg Y2FuIHlvdQ0KPj4gPiA+ID4+Pj4+PiBhdHRhY2ggeW91cg0KPj4gPiA+ID5jb25maWcuDQo+PiA+ ID4gPj4+Pj4+IFNpbmNlIHlvdSdyZSBzYXlpbmcgaXQgd2FzIHdvcmtpbmcgYW5kIG5vdyBpc24n dCwgSSdtDQo+PiA+ID4gPj4+Pj4+IGFzc3VtaW5nIHRoZXJlJ3Mgc29tZXRoaW5nIGFib3V0IHRo ZSBjb25maWcgYmVpbmcgdHJlYXRlZA0KPj4gPiA+ID4+Pj4+PiBkaWZmZXJlbnRseSB3aXRoIHRo ZSBjb2RlIGNoYW5nZXMgaW4gYW4gdW5leHBlY3RlZCB3YXkuDQo+PiA+ID4gPj4+Pj4NCj4+ID4g PiA+Pj4+PiBJIGZvdW5kIHBpZCBjb250cm9sIHdpbGwgZmlyc3QgcmVhZCBtaW4gYW5kIG1heCBm cm9tIGRidXMNCj4+ID4gPiA+Pj4+PiBhbmQgdGhlbiAoYmVmb3JlIGNvbW1pdCBbMV0pIHJldmlz ZSB0aGVtIGlmDQo+PiA+ID4gPj4+Pj4NCj4+ID4gPiA+Pj4+PiBpbmZvLT5taW4gIT0gY29uZjo6 aW5oZXJpdFZhbHVlRnJvbURidXMgKGluDQo+PiA+ID4gPj4+Pj4gaW5mby0+ZGJ1cy9kYnVzcGFz c2l2ZS5jcHApDQo+PiA+ID4gPj4+Pj4NCj4+ID4gPiA+Pj4+PiBBZnRlciB2YWx1ZSBpbml0aWFs aXphdGlvbiwgdGhlIG1pbiBhbmQgbWF4IHdvdWxkIGJlIHRoZQ0KPj4gPiA+ID4+Pj4+IG9uZXMg aW4ganNvbiBmaWxlIChKc29uIGZpbGUgWzNdKS4gSG93ZXZlciwgYWZ0ZXIgY29tbWl0IFsxXQ0K Pj4gPiA+ID4+Pj4+IHRoZSBtaW4gYW5kIG1heCB2YWx1ZXMgb2YgY29uZmlnIHdvdWxkIG5vdCBi ZSBmZWQgaW50byB0aGUgZmFuDQo+Y29udHJvbCBwcm9jZXNzLg0KPj4gPiA+ID4+Pj4+IFRoZSBz Y2FsaW5nIGlzc3VlIGlzIG9yaWdpbmF0ZWQgZnJvbSBjb21taXQgWzRdIHdpdGggdGhlIGFpbQ0K Pj4gPiA+ID4+Pj4+IHRvIHRyZWF0IGZhbiBycG0gYXMgcGVyY2VudGFnZS4gSXQgc2VlbXMgdGhh dCBjb21taXQgWzFdDQo+PiA+ID4gPj4+Pj4gdW5leHBlY3RlZGx5IGFmZmVjdHMgdGVtcCBzZW5z b3JzIGluIHRoZSBzZW5zZSB0aGF0IHRoZSB0ZW1wDQo+PiA+ID4gPj4+Pj4gaXMgdGhlIGludGVn ZXIgcmVhZGluZyBub3QgcGVyY2VudGFnZS4gQmVmb3JlIGNvbW1pdCBbMV0sIGl0DQo+PiA+ID4g Pj4+Pj4gd291bGQgbm90IHJlLXNjYWxlIHRoZQ0KPj4gPiA+ID50ZW1wIHJlYWRpbmcgc2luY2Ug bXkgbWluIGFuZCBtYXggYXJlIDAgWzZdLg0KPj4gPiA+ID4+Pj4+DQo+PiA+ID4gPj4+Pj4NCj4+ ID4gPiA+Pj4+Pg0KPj4gPiA+ID4+Pj4+IFRoZXJlIGlzIGFub3RoZXIgaXNzdWUgd2l0aCBjb21t aXQgWzFdLiBOb3cgdGhlIGZhbiBycG0NCj4+ID4gPiA+Pj4+PiB3b3VsZCBiZSBzb21ldGhpbmcg bGlrZQ0KPj4gPiA+ID4+Pj4+DQo+PiA+ID4gPj4+Pj4gMTUwMCAvIDIwMDAwID0gMC4wNzUNCj4+ ID4gPiA+Pj4+Pg0KPj4gPiA+ID4+Pj4+IHdoZXJlIHJwbSBtYXggMjAwMDAgaXMgZnJvbSBkYnVz LiBIb3dldmVyIHRoZSBmYW4gaW5wdXQNCj4+ID4gPiA+Pj4+PiBmdW5jdGlvbiB3b3VsZCB0cmFu c2ZlciBkb3VibGUgaW50byBpbnQsIHdoaWNoIGlzIDAgZm9yIDAuMDc1IChzZWUNCj5bNV0pLg0K Pj4gPiA+ID4+Pj4+IEhlbmNlIHRoZSBmYW4gaW5wdXQgaXMgMCBub3QgcGVyY2VudGFnZS4gSXMg dGhlcmUgc29tZXRoaW5nDQo+d3Jvbmc/DQo+PiA+ID4gPj4+Pj4NCj4+ID4gPiA+Pj4+PiBbMV0g aHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPj4gPiA+ID4+Pj4+IGNv bnRyb2wvY29tbWl0L2ZjMmU4MDNmNWQ5MjU2OTQ0ZTE4YzdjODc4YTQ0MTYwNmIxZjEyMWMNCj4+ ID4gPiA+Pj4+PiBbMl0gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0K Pj4gPiA+ID4+Pj4+DQo+PiA+ID4NCj4+Y29udHJvbC9ibG9iL2E3ZWM4MzUwZDE3YjcwMTUzY2Vi ZTY2NmQzZmJlODhiZGRkMDJhMWEvcGlkL2ZhbmNvbnQNCj4+ID4gPiA+cm8NCj4+ID4gPiA+Pj4+ PiBsbGUNCj4+ID4gPiA+Pj4+PiByLmNwcCNMODYNCj4+ID4gPiA+Pj4+PiBbM10NCj4+ID4gPiA+ Pj4+PiAgICAgICAgew0KPj4gPiA+ID4+Pj4+ICAgICAgICAgICAgICJuYW1lIjogImZhbjEiLA0K Pj4gPiA+ID4+Pj4+ICAgICAgICAgICAgICJ0eXBlIjogImZhbiIsDQo+PiA+ID4gPj4+Pj4gICAg ICAgICAgICAgInJlYWRQYXRoIjogIi9zeXMvY2xhc3MvaHdtb24vaHdtb24xL2ZhbjFfaW5wdXQi LA0KPj4gPiA+ID4+Pj4+ICAgICAgICAgICAgICJ3cml0ZVBhdGgiOiAiL3N5cy9jbGFzcy9od21v bi9od21vbjEvcHdtMSIsDQo+PiA+ID4gPj4+Pj4gICAgICAgICAgICAgIm1pbiI6IDAsDQo+PiA+ ID4gPj4+Pj4gICAgICAgICAgICAgIm1heCI6IDI1NQ0KPj4gPiA+ID4+Pj4+ICAgICAgICAgfSwN Cj4+ID4gPiA+Pj4+PiAgICAgICAgIHsNCj4+ID4gPiA+Pj4+PiAgICAgICAgICAgICAibmFtZSI6 ICJ0ZW1wMSIsDQo+PiA+ID4gPj4+Pj4gICAgICAgICAgICAgInR5cGUiOiAidGVtcCIsDQo+PiA+ ID4gPj4+Pj4gICAgICAgICAgICAgInJlYWRQYXRoIjoNCj4+ID4gPiA+Ii94eXovb3BlbmJtY19w cm9qZWN0L3NlbnNvcnMvdGVtcGVyYXR1cmUvdGVtcDEiLA0KPj4gPiA+ID4+Pj4+ICAgICAgICAg ICAgICJ3cml0ZVBhdGgiOiAiIiwNCj4+ID4gPiA+Pj4+PiAgICAgICAgICAgICAibWluIjogMCwN Cj4+ID4gPiA+Pj4+PiAgICAgICAgICAgICAibWF4IjogMA0KPj4gPiA+ID4+Pj4+ICAgICAgICAg fQ0KPj4gPiA+ID4+Pj4+IFs0XSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1w aWQtDQo+PiA+ID4gPj4+Pj4gY29udHJvbC9jb21taXQvNzVlYjc2OWQzNTE0MzQ1NDc4OTkxODZm NzNmZjcwYWUwMGQ3OTM0YQ0KPj4gPiA+ID4+Pj4+IFs1XSBodHRwczovL2dpdGh1Yi5jb20vb3Bl bmJtYy9waG9zcGhvci1waWQtDQo+PiA+ID4gPj4+Pj4NCj4+ID4gPg0KPj5jb250cm9sL2Jsb2Iv YTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2ZDNmYmU4OGJkZGQwMmExYS9waWQvZmFuY29udA0KPj4g PiA+ID5ybw0KPj4gPiA+ID4+Pj4+IGxsZQ0KPj4gPiA+ID4+Pj4+IHIuY3BwI0w2NA0KPj4gPiA+ ID4+Pj4+IFs2XSBodHRwczovL2dpdGh1Yi5jb20vb3BlbmJtYy9waG9zcGhvci1waWQtDQo+PiA+ ID4gPj4+Pj4NCj4+ID4gPg0KPj5jb250cm9sL2Jsb2IvYTdlYzgzNTBkMTdiNzAxNTNjZWJlNjY2 ZDNmYmU4OGJkZGQwMmExYS9kYnVzL2RidXNwYQ0KPj4gPiA+ID5zcw0KPj4gPiA+ID4+Pj4+IGkN Cj4+ID4gPiA+Pj4+PiB2ZS5jcHAjTDE1OA0KPj4gPiA+ID4+Pj4+DQo+PiA+ID4gPj4+Pj4+DQo+ PiA+ID4gPj4+Pj4+Pg0KPj4gPiA+ID4+Pj4+Pj4NCj4+ID4gPiA+Pj4+Pj4+IFsxXQ0KPj4gPiA+ ID4+Pj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL29wZW5ibWMvcGhvc3Bob3ItcGlkLQ0KPj4gPiA+ ID4+Pj4+PiBjb250cm9sL2NvbW1pdC9mYzJlODAzZjVkOTI1NjkNCj4+ID4gPiA+Pj4+Pj4+IDQ0 ZTE4YzdjODc4YTQ0MTYwNmIxZjEyMWMNCj4+ID4gPiA+Pj4+Pj4+DQo+PiA+ID4gPj4+Pj4+PiBb Ml0NCj4+ID4gPiA+Pj4+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYm1jL3Bob3NwaG9yLXBp ZC0NCj4+ID4gPiA+Pj4+Pj4gY29udHJvbC9ibG9iL2E3ZWM4MzUwZDE3YjcwMTUzDQo+PiA+ID4g Pj4+Pj4+PiBjZWJlNjY2ZDNmYmU4OGJkZGQwMmExYS9waWQvZmFuY29udHJvbGxlci5jcHAjTDg2 DQo+PiA+ID4gPj4+Pj4+Pg0KPj4gPiA+ID4+Pj4+Pj4NCj4+ID4gPiA+Pj4+Pj4+IFRoYW5rcywN Cj4+ID4gPiA+Pj4+Pj4+DQo+PiA+ID4gPj4+Pj4+Pg0KPj4gPiA+ID4+Pj4+Pj4gSGFuayBMaW91 DQo+PiA+ID4gPj4+Pj4+Pg0KPj4gPiA+ID4+Pj4+Pj4gUXVhbnRhIENvbXB1dGVyIEluYy4NCj4+ ID4gPiA+Pj4+Pj4+DQo+PiA+ID4gPj4+Pj4+Pg0KPj4gPiA+ID4+Pj4+DQo+PiA+ID4gPj4+Pj4g U2luY2VyZWx5LA0KPj4gPiA+ID4+Pj4+IEhhbmsNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::542; helo=mail-pg1-x542.google.com; envelope-from=venture@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="kmhKXL5V"; dkim-atps=neutral Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 46X9Y96N88zF43k for ; Tue, 17 Sep 2019 01:45:01 +1000 (AEST) Received: by mail-pg1-x542.google.com with SMTP id n9so242656pgc.1 for ; Mon, 16 Sep 2019 08:45:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=0RYiibXmglOKth3Njfs6u881DVcoL+HDWxIDif7EgJA=; b=kmhKXL5VzLtvfkiu1oidwA6mDhgrgVvr8U+FWZijvSwp++2TvlkFY/Syu7f16aE0GK /tEI9KpKhVFVId7lzXHz9sC1/t/2+RT4yPQtfOxZJajpIQPc/j7WjjaP2mDnIl0MXFZf JaIiyY7Oere1sy3FJIJXt8vyuHLZOk7QMyunLxEqRFmWs5TBUa94o91ORcYrVGGZY5sh HDgNpnUaa+fQ+iEgiALYmP/v/IGxh5vzTJj6GXyp+l4AUSSVyyTFmTUzVVDZ1Xpdh6mB b5xOrSzT71z/hmtAJpwsTkLDr6PJBeDQt8HR2bVjjfdY0+6NWAxqFmwAWt3gACUkg8OV B89A== 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=0RYiibXmglOKth3Njfs6u881DVcoL+HDWxIDif7EgJA=; b=HxsoEGj58t9hS8b1oc9xuWPYDYRokp5jRRddLm8D3lc+izrcNy9vR2Yl+2Y1sKwfRg TwSAnXlz/aGCj7PglSUKldUQ/iBic1kdsbKaownyA/Hc0Ql3H9MWniLUn3PSw5xCD3li vbsKlcTgpGMLl7kW/WhgR1JcJpdKHrRCPWkXSbPt26Z0TeNS5fiK1OK9HByo/KFpQVP8 iGr5q5WLZS8tP6QlDxU4xwDfzsCOma7ndgdJaCbMz2rRAn+mFBYvBFzoT2JxrnphEvrN ePtEkQEGUMUxG1ZF1Zcmh4VWAk4GMYTOwIhVbOPotfpmzco+rSXaQdLRsWQ35hESqkDA A9kg== X-Gm-Message-State: APjAAAUVskRU1wWb4LC08jp85WMVDMQ+ZBfqAXrRB2veKg+ineK+HJ91 nIKtYqAnBlhkysXd7/YlOOG/aFDx/8JXNGAlQTIKCQ== X-Google-Smtp-Source: APXvYqx5sZYBLI/wIY1hADODRR2d30TnTSTMhh6Gnf+9B1LfriLbEMR7g65AJaaQXJzKxumhkwHHXQeo4SaSo4/uYeM= X-Received: by 2002:a63:1f1f:: with SMTP id f31mr55945140pgf.353.1568648696199; Mon, 16 Sep 2019 08:44:56 -0700 (PDT) MIME-Version: 1.0 References: <369926533c3e448c9d1a0d28391fd688@quantatw.com> <02128993d3064b53ac289500746666ab@quantatw.com> <4b7d382d292d45fdab63f4adcc40eded@quantatw.com> <5a46202d21694717b1aa40b4ef5105ea@quantatw.com> In-Reply-To: <5a46202d21694717b1aa40b4ef5105ea@quantatw.com> From: Patrick Venture Date: Mon, 16 Sep 2019 08:44:43 -0700 Message-ID: Subject: Re: [phosphor-pid-control] scaling issue To: =?UTF-8?B?SGFuayBMaW91ICjlionmmYnnv7Ap?= Cc: James Feist , "openbmc@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Sep 2019 15:45:02 -0000 On Mon, Sep 16, 2019 at 1:37 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) wrote: > > Hi Patrick, > > Thanks for your help. This change does solve the issue. No problem! I enjoy it when someone hits an edge case or a situation not yet considered. We don't have nearly enough variety of configurations to really test quirks and unit-testing only covers so much. I saw your review requesting the configuration change, and +1'd it. Presumably you're well on your way. Thanks for your patience in this back-and-forth to resolve the issue. > > Hank > > >-----Original Message----- > >From: Patrick Venture [mailto:venture@google.com] > >Sent: Wednesday, September 11, 2019 1:52 AM > >To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >Cc: James Feist ; openbmc@lists.ozlabs.org > >Subject: Re: [phosphor-pid-control] scaling issue > > > >On Tue, Sep 10, 2019 at 7:52 AM Patrick Venture > >wrote: > >> > >> On Tue, Sep 10, 2019 at 7:39 AM Patrick Venture > >wrote: > >> > > >> > On Tue, Sep 10, 2019 at 1:02 AM Hank Liou (=E5=8A=89=E6=99=89=E7=BF= =B0) > > wrote: > >> > > > >> > > >-----Original Message----- > >> > > >From: James Feist [mailto:james.feist@linux.intel.com] > >> > > >Sent: Tuesday, September 10, 2019 1:27 AM > >> > > >To: Patrick Venture ; Hank Liou (=E5=8A=89=E6= =99=89=E7=BF=B0) > >> > > > > >> > > >Cc: openbmc@lists.ozlabs.org > >> > > >Subject: Re: [phosphor-pid-control] scaling issue > >> > > > > >> > > >On 9/9/19 9:57 AM, Patrick Venture wrote: > >> > > >> On Thu, Sep 5, 2019 at 12:25 AM Hank Liou (=E5=8A=89=E6=99=89= =E7=BF=B0) > >> > > > wrote: > >> > > >>> > >> > > >>> Hi Patrick, > >> > > >>> > >> > > >>> > >> > > >>> Sorry for not clearly stating our problem. We have the followi= ng > >issue: > >> > > >>> > >> > > >>> > >> > > >>> temp sensor gets 31(C) -> 31 / 0.255 =3D 121.57 -> pid uses > >> > > >>> 127.57 as input for temp sensor -> > >> > > >>> > >> > > >>> stepwise fan table output 100 duty -> full speed fan > >> > > >> > >> > > >> Ok, so you're getting a dbus-based min/max value and you want > >> > > >> to ignore it? > >> > > > >> > > Yes, we want to ignore it. > >> > > >> > It looks like the sensor value scaling should be ignored for non-fan= s. > >> > Per > >> > https://github.com/openbmc/phosphor-pid- > >control/commit/75eb769d35143 > >> > 4547899186f73ff70ae00d7934a, this change was only meant to deal with > >> > a fan case where the goal looks like it was to treat the fan values > >> > as percentages on reading the sensors, and not only on writing them > >> > by leveraging the min/max json sometimes? > >> > > >> > I can change the dbuspassive constructor to set the values back to > >> > their input values (ignoring dbus) if the type is not "fan", but I'm > >> > not sure that makes sense because the real use-case isn't clear to > >> > me, and I know the scaling from dbus is gone: > >> > https://github.com/openbmc/phosphor-pid- > >control/search?utf8=3D%E2%9C%9 > >> > 3&q=3DinheritValueFromDbus&type=3D > >> > > >> > I'll submit the patch real quick, but I'm not sure it's the right > >> > long-term fix. I'd like to clean this up if possible so that we > >> > don't leverage "unused" features of a configuration and instead > >> > explicitly use them (or not). > >> > >> This patch should address what you're seeing. Overall, I think there > >> should be a larger change addressing the goal of the original change. > >> > >> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-pid-control/+/25 > >> 070 > > > >I decided to take on the larger change because chances are we might hit = it > >some other way: > >https://gerrit.openbmc-project.xyz/c/25072/ > > > >This lets you specify a json configuration option that will ignore the > >MinValue/MaxValue properties on dbus. > > > >> > >> > > >> > > > >> > > > > >> > > >What is providing the dbus-based min/max? > >> > > > >> > > We use dbus min/max for phosphor-sel-logger utility. The dbus min/= max > >is provided by config file of phosphor-hwmon. > >> > > In our case, they are -128/127 respectively. > >> > > > >> > > I have an observation: > >> > > I found that while fan readpath is of the form "/sys/...", the fan= input > >would not be rescaled. The same is for other sensors since the input val= ue > >would not enter rescaling function. > >> > > However, in our case we don't have a sys path for some thermal sen= sors. > >> > > > >> > > > > >> > > >> In the json configuration, if you set the values to 0, they are > >> > > >> set to the default (0), so there'd be no clean way to know to > >> > > >> ignore dbus in this case, without adding a small check to only > >> > > >> consider min/max from dbus when sensor is not temp/margin. > >> > > >> Basically, only care about min/max on dbus if type is "fan" > >> > > > > >> > > > >> > > I agree with the option to add a check since the min/max is only f= or fan > >now. > >> > > > >> > > >Why is the dbus-based min/max even there if you don't plan on usi= ng it? > >> > > > > >> > > >> > >> > > >> If that's right, James do you have a cycle to look at this one-= liner? > >> > > >> > >> > > >>> > >> > > >>> > >> > > >>> As a result, fan will be at full speed while temp is low. > >> > > >>> Before the commit > >> > > >fc2e803 [1], this won't happen. The root cause is that, before > >> > > >fc2e803, pid will use config min/max, which is 0 in our case. > >> > > >This would not trigger scaling function, namely > >> > > >scaleSensorReading, in util.cpp. However, after such commit, > >> > > >min/max would be non-zero (-128/127 from DBus). This will trigger > >scaling function. > >> > > >>> > >> > > >>> > >> > > >>> [1] > >> > > >>> https://github.com/openbmc/phosphor-pid- > >> > > >control/commit/fc2e803f5d9256 > >> > > >>> 944e18c7c878a441606b1f121c > >> > > >>> > >> > > >>> > >> > > >>> Hank > >> > > >>> > >> > > >>> > >> > > >>> ________________________________ > >> > > >>> From: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >> > > >>> Sent: Monday, September 2, 2019 4:52 PM > >> > > >>> To: Patrick Venture > >> > > >>> Cc: James Feist; openbmc@lists.ozlabs.org > >> > > >>> Subject: Re: [phosphor-pid-control] scaling issue > >> > > >>> > >> > > >>> > >> > > >>> Hi Patrick, > >> > > >>> > >> > > >>> > >> > > >>> Since we use phosphor-sel-logger [1] at the same time, we do > >> > > >>> assign min > >> > > >and max of temp sensors to Dbus (max: 127, min: -128). So in the > >> > > >present case, our temp value will be divided by 0.255 (also due > >> > > >to exponent is -3 here). This will cause re-scaling problem. > >> > > >Therefore there should be an statement to distinguish sensor > >> > > >types. If it is "temp", then one assigns 0 to the min and max fro= m Dbus. > >> > > >>> > >> > > >>> > >> > > >>> [1] > >> > > >>> https://github.com/openbmc/phosphor-sel- > >> > > >logger/blob/3d300fca24b30864b > >> > > >>> 3e9a4f5768cfe5e769458ae/include/sensorutils.hpp#L59 > >> > > >>> > >> > > >>> > >> > > >>> Hank > >> > > >>> > >> > > >>> > >> > > >>> ________________________________ > >> > > >>> From: Patrick Venture > >> > > >>> Sent: Friday, August 30, 2019 1:47 AM > >> > > >>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) > >> > > >>> Cc: James Feist; openbmc@lists.ozlabs.org > >> > > >>> Subject: Re: [phosphor-pid-control] scaling issue > >> > > >>> > >> > > >>> PTAL - https://gerrit.openbmc-project.xyz/24827 - this is > >> > > >>> merged, and the srcrev bump should propagate into > >openbmc/openbmc in a day or two. > >> > > >>> > >> > > >>> On Wed, Aug 28, 2019 at 11:00 PM Hank Liou (=E5=8A=89=E6=99=89= =E7=BF=B0) > >> > > > wrote: > >> > > >>>> > >> > > >>>> Hi Patrick, > >> > > >>>> > >> > > >>>> I think it's OK to parse the config min&max for temp sensors. > >> > > >>>> > >> > > >>>> Any suggestion? > >> > > >>>> > >> > > >>>> Thanks, > >> > > >>>> Hank > >> > > >>>> > >> > > >>>>> -----Original Message----- > >> > > >>>>> From: openbmc [mailto:openbmc- > >> > > >>>>> bounces+hank.liou=3Dquantatw.com@lists.ozlabs.org] On Behalf > >> > > >>>>> bounces+Of Hank Liou > >> > > >>>>> (=E5=8A=89=E6=99=89=E7=BF=B0) > >> > > >>>>> Sent: Friday, August 23, 2019 4:31 PM > >> > > >>>>> To: Patrick Venture ; James Feist > >> > > >>>>> > >> > > >>>>> Cc: openbmc@lists.ozlabs.org > >> > > >>>>> Subject: RE: [phosphor-pid-control] scaling issue > >> > > >>>>> > >> > > >>>>> Hi Patrick, > >> > > >>>>> > >> > > >>>>>> -----Original Message----- > >> > > >>>>>> From: Patrick Venture [mailto:venture@google.com] > >> > > >>>>>> Sent: Wednesday, August 21, 2019 10:32 PM > >> > > >>>>>> To: Hank Liou (=E5=8A=89=E6=99=89=E7=BF=B0) ; James > >Feist > >> > > >>>>>> > >> > > >>>>>> Cc: openbmc@lists.ozlabs.org > >> > > >>>>>> Subject: Re: [phosphor-pid-control] scaling issue > >> > > >>>>>> > >> > > >>>>>> On Wed, Aug 21, 2019 at 1:11 AM Hank Liou (=E5=8A=89=E6=99= =89=E7=BF=B0) > >> > > >>>>>> wrote: > >> > > >>>>>>> > >> > > >>>>>>> Hi All, > >> > > >>>>>>> > >> > > >>>>>>> > >> > > >>>>>>> After commit [1], I found my temp sensor reading would be > >> > > >>>>>>> re-scaled by > >> > > >>>>>> multiplying 1 over 255, making temperature into unfamiliar = unit. > >> > > >>>>>> Also the fan rpm reading would lie in [0,1] interval, > >> > > >>>>>> letting the fan input to be 0 (since the input value of fan > >> > > >>>>>> is from an integer array [2]). Are these > >> > > >>>>> normal behaviors? > >> > > >>>>>> Or do I miss something? > >> > > >>>>>> > >> > > >>>>>> Are you using dbus configuration or json? If json, can you > >> > > >>>>>> attach your > >> > > >config. > >> > > >>>>>> Since you're saying it was working and now isn't, I'm > >> > > >>>>>> assuming there's something about the config being treated > >> > > >>>>>> differently with the code changes in an unexpected way. > >> > > >>>>> > >> > > >>>>> I found pid control will first read min and max from dbus > >> > > >>>>> and then (before commit [1]) revise them if > >> > > >>>>> > >> > > >>>>> info->min !=3D conf::inheritValueFromDbus (in > >> > > >>>>> info->dbus/dbuspassive.cpp) > >> > > >>>>> > >> > > >>>>> After value initialization, the min and max would be the > >> > > >>>>> ones in json file (Json file [3]). However, after commit [1] > >> > > >>>>> the min and max values of config would not be fed into the f= an > >control process. > >> > > >>>>> The scaling issue is originated from commit [4] with the aim > >> > > >>>>> to treat fan rpm as percentage. It seems that commit [1] > >> > > >>>>> unexpectedly affects temp sensors in the sense that the temp > >> > > >>>>> is the integer reading not percentage. Before commit [1], it > >> > > >>>>> would not re-scale the > >> > > >temp reading since my min and max are 0 [6]. > >> > > >>>>> > >> > > >>>>> > >> > > >>>>> > >> > > >>>>> There is another issue with commit [1]. Now the fan rpm > >> > > >>>>> would be something like > >> > > >>>>> > >> > > >>>>> 1500 / 20000 =3D 0.075 > >> > > >>>>> > >> > > >>>>> where rpm max 20000 is from dbus. However the fan input > >> > > >>>>> function would transfer double into int, which is 0 for 0.07= 5 (see > >[5]). > >> > > >>>>> Hence the fan input is 0 not percentage. Is there something > >wrong? > >> > > >>>>> > >> > > >>>>> [1] https://github.com/openbmc/phosphor-pid- > >> > > >>>>> control/commit/fc2e803f5d9256944e18c7c878a441606b1f121c > >> > > >>>>> [2] https://github.com/openbmc/phosphor-pid- > >> > > >>>>> > >> > > > >>control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancont > >> > > >ro > >> > > >>>>> lle > >> > > >>>>> r.cpp#L86 > >> > > >>>>> [3] > >> > > >>>>> { > >> > > >>>>> "name": "fan1", > >> > > >>>>> "type": "fan", > >> > > >>>>> "readPath": "/sys/class/hwmon/hwmon1/fan1_input"= , > >> > > >>>>> "writePath": "/sys/class/hwmon/hwmon1/pwm1", > >> > > >>>>> "min": 0, > >> > > >>>>> "max": 255 > >> > > >>>>> }, > >> > > >>>>> { > >> > > >>>>> "name": "temp1", > >> > > >>>>> "type": "temp", > >> > > >>>>> "readPath": > >> > > >"/xyz/openbmc_project/sensors/temperature/temp1", > >> > > >>>>> "writePath": "", > >> > > >>>>> "min": 0, > >> > > >>>>> "max": 0 > >> > > >>>>> } > >> > > >>>>> [4] https://github.com/openbmc/phosphor-pid- > >> > > >>>>> control/commit/75eb769d351434547899186f73ff70ae00d7934a > >> > > >>>>> [5] https://github.com/openbmc/phosphor-pid- > >> > > >>>>> > >> > > > >>control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/pid/fancont > >> > > >ro > >> > > >>>>> lle > >> > > >>>>> r.cpp#L64 > >> > > >>>>> [6] https://github.com/openbmc/phosphor-pid- > >> > > >>>>> > >> > > > >>control/blob/a7ec8350d17b70153cebe666d3fbe88bddd02a1a/dbus/dbuspa > >> > > >ss > >> > > >>>>> i > >> > > >>>>> ve.cpp#L158 > >> > > >>>>> > >> > > >>>>>> > >> > > >>>>>>> > >> > > >>>>>>> > >> > > >>>>>>> [1] > >> > > >>>>>>> https://github.com/openbmc/phosphor-pid- > >> > > >>>>>> control/commit/fc2e803f5d92569 > >> > > >>>>>>> 44e18c7c878a441606b1f121c > >> > > >>>>>>> > >> > > >>>>>>> [2] > >> > > >>>>>>> https://github.com/openbmc/phosphor-pid- > >> > > >>>>>> control/blob/a7ec8350d17b70153 > >> > > >>>>>>> cebe666d3fbe88bddd02a1a/pid/fancontroller.cpp#L86 > >> > > >>>>>>> > >> > > >>>>>>> > >> > > >>>>>>> Thanks, > >> > > >>>>>>> > >> > > >>>>>>> > >> > > >>>>>>> Hank Liou > >> > > >>>>>>> > >> > > >>>>>>> Quanta Computer Inc. > >> > > >>>>>>> > >> > > >>>>>>> > >> > > >>>>> > >> > > >>>>> Sincerely, > >> > > >>>>> Hank