From: "Will Liang (梁永鉉)" <Will.Liang@quantatw.com>
To: Patrick Venture <venture@google.com>
Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>
Subject: RE: about phosphor pid control package
Date: Thu, 9 May 2019 06:33:05 +0000 [thread overview]
Message-ID: <aa5dec4830f349429f440dda2aee7bf2@quantatw.com> (raw)
In-Reply-To: <CAO=notyeTBr3BSKrhxDP3uW3s0kma6cek-Dz-33tczKU0pL-Mg@mail.gmail.com>
Hi,
> -----Original Message-----
> From: Patrick Venture [mailto:venture@google.com]
> Sent: Thursday, May 9, 2019 12:36 AM
> To: Will Liang (梁永鉉) <Will.Liang@quantatw.com>
> Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>
> Subject: Re: about phosphor pid control package
>
> On Wed, May 8, 2019 at 6:46 AM Will Liang (梁永鉉)
> <Will.Liang@quantatw.com> wrote:
> >
> > Hi,
> >
> > I have a question about getFailSafeMode().
> >
> > Currently, only sensors that are defined as "temp" types can be checked for
> failure.
> > I did not find any "fan" type sensors to check if the fan has failed.
> > Our project need to check the fan fail so I want to add another "fan" sensor
> type to check.
>
>
>
> >
> > Can I add one more "for loop" to check the fan sensor in updateSensors()
> function in zone.cpp??
> >
> > for (const auto& t : _thermalInputs)
> > {
> > ........
> > }
> > for (const auto& t : _fanInputs)
> > {
> > ........
> > }
>
> updateSensors is deliberately not talking to the fans because they're not
> considered inputs into the thermal config, they're controlled outputs -- the
> question I have is, what would you like to do if a fan isn't responding?
> failsafemode drives the fans to a specific pre-defined speed to keep it from
> thermal issues. If a fan is failing to respond, one can't drive it -- perhaps one
> can drive the others to some failsafe?
If a fan fails, we need to enter the fail safe mode to increase the other fan duty.
> If so, one needs to update the failsafe for a zone outside of the thermal sensors,
> but rather where the fans are checked (void
> PIDZone::updateFanTelemetry(void))
I add following code into the PIDZone::updateFanTelemetry(void) function to check the fan fail.
If the fan fails, it will enter fail safe mode.
if (sensor->getFailed())
{
failSafeSensors.insert(f);
}
else
{
// Check if it's in there: remove it.
auto kt = _failSafeSensors.find(f);
if (kt != _failSafeSensors.end())
{
failSafeSensors.erase(kt);
}
But one more question I have is that the above code can only check if a single fan has failed.
Our project needs to check for dual-fan failures. Do you have any suggestions for checking the failure of the dual-fan?
Will
> >
> > BRs,
> > Will
next prev parent reply other threads:[~2019-05-09 6:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-08 13:45 about phosphor pid control package Will Liang (梁永鉉)
2019-05-08 16:36 ` Patrick Venture
2019-05-09 6:33 ` Will Liang (梁永鉉) [this message]
2019-05-09 14:43 ` Patrick Venture
2019-05-09 17:51 ` James Feist
2019-05-10 0:08 ` Will Liang (梁永鉉)
2019-05-14 12:50 ` Will Liang (梁永鉉)
2019-05-14 16:01 ` James Feist
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aa5dec4830f349429f440dda2aee7bf2@quantatw.com \
--to=will.liang@quantatw.com \
--cc=openbmc@lists.ozlabs.org \
--cc=venture@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.