History log of /openbmc/phosphor-pid-control/meson.build (Results 1 – 10 of 10)
Revision Date Author Comments
# af97d8ef 02-Jan-2024 Jonico Eustaquio <jonico.eustaquio@fii-na.com>

Add UNC crossing option for FailSafe condition

Added a unc-failsafe meson option that if set to true, would then check
if any temperature sensor PIDs exceed their upper non-critical
threshold. If a

Add UNC crossing option for FailSafe condition

Added a unc-failsafe meson option that if set to true, would then check
if any temperature sensor PIDs exceed their upper non-critical
threshold. If a sensor is detected to have exceeded their UNC, then the
zone associated with that PID would go to FailSafe.

By default, this option will be set to false for backwards
compatibility.

Change-Id: I2fbc6000e8d37b34c51d3578becdaf18d449b0e8
Signed-off-by: Jonico Eustaquio <jonico.eustaquio@fii-na.com>

show more ...


# 8dc277cc 25-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Enable link time optimization

Currently local boost subproject compilation fails with a message:
"""
../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:
1085:41: error: itera

meson: Enable link time optimization

Currently local boost subproject compilation fails with a message:
"""
../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:
1085:41: error: iteration 2305843009213693951 invokes undefined
behavior [-Werror=aggressive-loop-optimizations]
1085 | size = request2size(sizes[i]*element_size);

...

cc1: all warnings being treated as errors
"""
To solve the issue enable link time optimization.

Tested:
"meson setup build && cd build && meson compile" finishes successfully.

Change-Id: I6a146c5067d4d9eda163b18f9307b8b36eaedac5
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# 7e63502a 13-Oct-2023 Patrick Rudolph <patrick.rudolph@9elements.com>

pid/fancontroller: Set failsafe PWM in destructor

Introduce a new feature that's guarded by a new meson option
'offline-failsafe-pwm':

After the FanController object was destroyed it can no longer

pid/fancontroller: Set failsafe PWM in destructor

Introduce a new feature that's guarded by a new meson option
'offline-failsafe-pwm':

After the FanController object was destroyed it can no longer regulate
the fans. To prevent system failure set all fans to the FailSafePercent
defined in the configuration.

In addition to rebuilding configuration it also allows to keep the fans
in FailSafe mode as long as the phosphor-pid-control.service is stopped
or the system reboots. However this change doesn't cover the case of
a program crash where the destructor won't be executed. Abnormal program
termination must be handled by systemd and it out of scope of this
change.

Tested: 'systemctl stop phosphor-pid-control.service' and see the fans
ramp up to FailSafePercent.

Change-Id: I81262b07fd4c1212efc1a4ba4635bde8bc7b5215
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>

show more ...


# efda1ced 08-Dec-2023 Patrick Williams <patrick@stwcx.xyz>

meson: adjust nlohmann-json dependency

Simplify dependency detection logic and align wrap file name with other
repositories.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Iab3ae4b3

meson: adjust nlohmann-json dependency

Simplify dependency detection logic and align wrap file name with other
repositories.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Iab3ae4b39677f40e88801865b6c3ddfe77d43d40

show more ...


# 397e6bcb 29-Nov-2023 Patrick Williams <patrick@stwcx.xyz>

build: use allowed over enabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer retur

build: use allowed over enabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer return true for auto features. Instead, the
expectation is to use `allowed()` which is true for both enabled and auto.

Switch all uses of `enabled` to `allowed`.

Change-Id: I816b3334e4bb65384a49bc34af6ae5fe092c923e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# a83fae58 13-Jul-2023 Patrick Williams <patrick@stwcx.xyz>

meson: add necessary subprojects

Enable the project to build outside of the OpenBMC Docker or Yocto
environments by providing subproject wrap files as necessary. In
some cases, this requires adding

meson: add necessary subprojects

Enable the project to build outside of the OpenBMC Docker or Yocto
environments by providing subproject wrap files as necessary. In
some cases, this requires adding additional dependencies in the meson
file due to them not currently being expressed.

Supply a .gitignore that is appropriate for a Meson project as the
current one seems to be from the time when this project used autoconf.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Iea2ae8cb9e00d2aa726800ff09b42d93efc886fc

show more ...


# 2aaf936f 12-Jul-2023 Patrick Williams <patrick@stwcx.xyz>

build: upgrade to C++23

Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of
the standard has been implemented. Upgrade the build to leverage it.

Change-Id: Idf4240e5b3f67681568e4

build: upgrade to C++23

Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of
the standard has been implemented. Upgrade the build to leverage it.

Change-Id: Idf4240e5b3f67681568e489eebbe9db71f7a44f4
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 7e6130aa 12-Apr-2023 Patrick Williams <patrick@stwcx.xyz>

meson: remove deprecated get_pkgconfig_variable

Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In
meson 0.58 the `get_variable` was enhanced to no longer require the
`pkgconfig

meson: remove deprecated get_pkgconfig_variable

Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In
meson 0.58 the `get_variable` was enhanced to no longer require the
`pkgconfig` keyword argument. Ensure meson 0.58 is required and update
the usage of all `get_pkgconfig_variable` and `get_variable` to be the
modern variant.

Change-Id: I1ec9e9a8efcfe37f0439a15e986bf6e7a754dc00
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# de74542c 07-Nov-2020 Josh Lehan <krellan@google.com>

Adding new feature of core PID loop logging

This differs from the normal logging,
as this focuses on the core of the PID loop computations.

All variables within the core pid/ec/pid.cpp pid()
functi

Adding new feature of core PID loop logging

This differs from the normal logging,
as this focuses on the core of the PID loop computations.

All variables within the core pid/ec/pid.cpp pid()
function are now logged, so math can be debugged.

Output is throttled to only log a new line
when it changes, or when 60 seconds have elapsed.

Creates 2 files for each PID loop,
one showing coefficients that were configured for it,
and one showing the variables changing over time.

Enable by --corelogging command line option,
or by creating /etc/thermal.d/corelogging file.

Tested:
Log files appear as expected, when enabled.
No changes noticed, when this feature is disabled.

Signed-off-by: Josh Lehan <krellan@google.com>
Change-Id: I3f37fe918e7cbc6fb885ffa2f268600d5a317d32

show more ...


# b1225b26 28-Oct-2022 Harvey.Wu <Harvey.Wu@quantatw.com>

meson: Add meson and meson_option files

Tested: compile and run successfully

tests log using run-unit-test-docker.sh :
1/14 dbus_active_unittest OK 0.03s
2/14 dbus

meson: Add meson and meson_option files

Tested: compile and run successfully

tests log using run-unit-test-docker.sh :
1/14 dbus_active_unittest OK 0.03s
2/14 dbus_util_unittest OK 0.02s
3/14 json_parse_unittest OK 0.02s
4/14 pid_json_unittest OK 0.02s
5/14 pid_stepwisecontroller_unittest OK 0.03s
6/14 pid_fancontroller_unittest OK 0.04s
7/14 pid_thermalcontroller_unittest OK 0.03s
8/14 dbus_passive_unittest OK 0.05s
9/14 sensor_pluggable_unittest OK 0.02s
10/14 sensor_manager_unittest OK 0.02s
11/14 sensor_host_unittest OK 0.03s
12/14 sensors_json_unittest OK 0.01s
13/14 util_unittest OK 0.01s
14/14 pid_zone_unittest OK 0.04s

Ok: 14
Expected Fail: 0
Fail: 0
Unexpected Pass: 0
Skipped: 0
Timeout: 0

systemctl status phosphor-pid-control.service
* phosphor-pid-control.service - Phosphor-Pid-Control Margin-based Fan Control Daemon
Loaded: loaded (/lib/systemd/system/phosphor-pid-control.service; enabled; preset: enabled)
Drop-In: /lib/systemd/system/phosphor-pid-control.service.d
`-service-override.conf
Active: active (running) since Fri 2018-03-09 04:36:30 PST; 1min 37s ago
Process: 2561 ExecStartPre=/usr/bin/fan-table-init.sh (code=exited, status=0/SUCCESS)
Main PID: 2633 (swampd)
CGroup: /system.slice/phosphor-pid-control.service
`-2633 /usr/bin/swampd

Mar 09 04:36:45 qbmc swampd[2633]: PID name: pwm 5
Mar 09 04:36:45 qbmc swampd[2633]: inputs: fan2_tachfan5_pwm, fan3_tachfan5_pwm, fan5_tachfan5_pwm,
Mar 09 04:36:45 qbmc swampd[2633]: PID name: tray_dt PID
Mar 09 04:36:45 qbmc swampd[2633]: inputs: tray_dt,
Mar 09 04:36:45 qbmc swampd[2633]: pushing zone 2
Mar 09 04:36:45 qbmc swampd[2633]: PID Zone 2 max SetPoint 4200 requested by CPU0 PID fan0_tachfan4_pwm fan1_tachfan4_pwm fan2_tachfan5_pwm fan3_tachfan5_pwm fan4_tachfan4_pwm fan5_tachfan5_pwm
Mar 09 04:36:45 qbmc swampd[2633]: pushing zone 1
Mar 09 04:36:45 qbmc swampd[2633]: PID Zone 1 max SetPoint 4200 requested by CPU1 PID fan2_tachfan2_pwm fan3_tachfan3_pwm
Mar 09 04:36:45 qbmc swampd[2633]: pushing zone 0
Mar 09 04:36:45 qbmc swampd[2633]: PID Zone 0 max SetPoint 4200 requested by CPU0 PID fan0_tachfan0_pwm fan1_tachfan1_pwm

Signed-off-by: Harvey.Wu <Harvey.Wu@quantatw.com>
Change-Id: I779fed7a5deef262a0e65d4eb00116072beb28e8

show more ...