summaryrefslogtreecommitdiff
path: root/meta-ibm/meta-romulus
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2019-05-23 22:41:28 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-07-09 05:23:59 +0300
commitc8d9dec86615e8fd80c2d4c9bbb7a0a2ade54e0c (patch)
tree5b46a587e069f1b23a46c1ebd3f1be34b3f776a8 /meta-ibm/meta-romulus
parent65ad33bf4875df5a6fc2739e71e707d8936c278e (diff)
downloadopenbmc-c8d9dec86615e8fd80c2d4c9bbb7a0a2ade54e0c.tar.xz
romulus:pfp: Performance enhanced events
With updated from openbmc/openbmc#2911, event actions are now able to be configured with group subsets and event timers are now included in the available event triggers. Actions with group subsets allow a single event's set of triggers to run actions against a given group subset instead of the entire event groups. Also, with timers being included as a trigger, events can be configured with or without a timer instead of a disabled timer being created for events that previously did not require a timer. Tested: Generated code is functionally equivalent to previous yaml (From meta-ibm rev: 03eacc4ef87b3b89cf36aab977ff4eab68f8b4fc) Change-Id: Ib7eadf5b7c2cb27440e5944348460295334b9f13 Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-ibm/meta-romulus')
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml234
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend2
2 files changed, 137 insertions, 99 deletions
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
index ddf1556d2..20d2a8814 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
+++ b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
@@ -96,52 +96,53 @@ groups:
matches:
- name: propertiesChanged
- description: >
- A property changed match
parameters:
- object
- interface
- signal: propertySignal
- name: interfacesAdded
- description: >
- An interfaces added match
parameters:
- object
- signal: objectSignal
- name: nameOwnerChanged
- description: >
- A name owner changed match
parameters:
- object
- interface
- signal: ownerSignal
signals:
- - name: propertySignal
+ - name: propertiesChanged
description: >
- Handle property signals
+ A property changed match
parameters:
- type
- object
- interface
- property
- handler: setProperty
- - name: objectSignal
+ match: propertiesChanged
+ - name: interfacesAdded
description: >
- Handle object signals
+ An interfaces added match
parameters:
- type
- object
- interface
- property
- handler: setProperty
- - name: ownerSignal
+ match: interfacesAdded
+ - name: nameOwnerChanged
description: >
- Handle owner signals
+ A name owner changed match
+ parameters:
+ match: nameOwnerChanged
+
+methods:
+ - name: getProperties
+ description: >
+ Get the property values of the given group members
+ by performing a `GetProperty` method call on each
+ parameters:
+ - type
+ - name: nameHasOwner
+ description: >
+ A NameHasOwner method call to be performed on all event group members
parameters:
- - object
- - interface
- handler: setService
handlers:
- name: setProperty
@@ -149,12 +150,9 @@ handlers:
Sets a value for the given object/interface/property
parameters:
- type
- - object
- - interface
- - property
- name: setService
description: >
- Sets the service name(s) for the given group
+ Sets the service name and ownership status for the given group
parameters:
- group
@@ -165,6 +163,11 @@ preconditions:
enable a set speed event otherwise fan speeds are set to full
parameters:
- groups
+ - name: services_missing_owner
+ description: >
+ Any services missing an owner enable the events given otherwise
+ the events are removed/disabled
+ parameters:
actions:
- name: call_actions_based_on_timer
@@ -222,86 +225,83 @@ actions:
events:
- name: default_fan_floor_on_service_fail
- groups:
- - name: zone0_ambient
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: nameOwnerChanged
- actions:
- - name: call_actions_based_on_timer
- timer:
- delay: 5
- type: oneshot
- actions:
- - name: default_floor_on_missing_owner
- - name: high_speed_on_occ0_service_fail
+ precondition:
+ name: services_missing_owner
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
+ events:
+ - name: default_fan_floor
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: timer
+ interval: 5000000
+ type: oneshot
+ actions:
+ - name: default_floor_on_missing_owner
+ - name: high_speed_on_occ_service_fail
groups:
- name: occ0_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- matches:
- - name: nameOwnerChanged
- actions:
- - name: call_actions_based_on_timer
- timer:
- delay: 5
- type: oneshot
- actions:
- - name: set_speed_on_missing_owner
- speed:
- value: 255
- type: uint64_t
- - name: high_speed_on_occ1_service_fail
- groups:
- name: occ1_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- matches:
- - name: nameOwnerChanged
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
actions:
- name: call_actions_based_on_timer
timer:
- delay: 5
+ interval: 5000000
type: oneshot
actions:
- name: set_speed_on_missing_owner
speed:
value: 255
type: uint64_t
- - name: missing_before_high_speed_air
+ - name: missing_or_fails_before_high_speed_air
groups:
- name: air_cooled_zone0_fans
interface: xyz.openbmc_project.Inventory.Item
property:
name: Present
type: bool
- matches:
- - name: propertiesChanged
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 255
- type: uint64_t
- - name: fails_before_high_speed_air
- groups:
- name: air_cooled_zone0_fans
interface: xyz.openbmc_project.State.Decorator.OperationalStatus
property:
name: Functional
type: bool
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: count_state_before_speed
count: 1
@@ -318,8 +318,13 @@ events:
property:
name: Value
type: int64_t
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: set_floor_from_average_sensor_value
map:
@@ -351,22 +356,53 @@ events:
name: OccActive
type: bool
value: true
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
events:
- - name: speed_changes_based_on_core_temps
+ - name: speed_control_sensors
groups:
- name: zone0_cores
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ - name: 1sec_speed_change_request_sampling
+ triggers:
+ - name: timer
+ interval: 1000000
+ type: repeating
actions:
+ # Speed changes based on core temps
- name: set_net_increase_speed
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 73000
type: int64_t
@@ -377,6 +413,12 @@ events:
value: 11
type: uint64_t
- name: set_net_decrease_speed
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 70000
type: int64_t
@@ -386,20 +428,14 @@ events:
delta:
value: 11
type: uint64_t
- timer:
- interval: 5
- - name: speed_changes_based_on_dimm_temps
- groups:
- - name: zone0_dimms
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- actions:
+ # Speed changes based on dimm temps
- name: set_net_increase_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 64000
type: int64_t
@@ -410,6 +446,12 @@ events:
value: 6
type: uint64_t
- name: set_net_decrease_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 61000
type: int64_t
@@ -419,5 +461,3 @@ events:
delta:
value: 6
type: uint64_t
- timer:
- interval: 5
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
index 8a0875e6a..3ec031946 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -1,7 +1,5 @@
FILESEXTRAPATHS_prepend_romulus := "${THISDIR}/${BPN}:"
-SRCREV = "d9a580aa5037fdb08911940263a580b036f2d9fa"
-
# Package configuration
FAN_PACKAGES += " \
phosphor-cooling-type \