Searched hist:e4fef0fcf29fb330527afd467b90b6c5dcc245ca (Results 1 – 5 of 5) sorted by relevance
/openbmc/phosphor-power/phosphor-power-sequencer/src/ |
H A D | services.cpp | diff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services
Add caching of hardware presence data to the Services class in the phosphor-power-sequencer application. Obtaining hardware presence from D-Bus is a slow operation. During pgood fault isolation, multiple rails may need the same hardware presence information. Cache this information to improve performance.
Provide a method to clear the cached data since it is only valid for a short period of time. For example, power supplies are hot-pluggable, so their presence may change while a system is powered on.
Tested: * BMCServices * createPMBus() * Verify correct sysfs path passed to PMBus constructor * isPresent() * Test where hardware is present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where hardware is not present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where D-Bus method call fails with an expected exception * Verify false is stored in cache * Verify false is returned * Test where D-Bus method call fails with an unexpected exception * Verify nothing is cached * Verify exception is re-thrown * clearCache() * Verify clears all cached data * MockServices * Verify all methods can be called from an automated test * Run existing automated tests
Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|
H A D | services.hpp | diff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services
Add caching of hardware presence data to the Services class in the phosphor-power-sequencer application. Obtaining hardware presence from D-Bus is a slow operation. During pgood fault isolation, multiple rails may need the same hardware presence information. Cache this information to improve performance.
Provide a method to clear the cached data since it is only valid for a short period of time. For example, power supplies are hot-pluggable, so their presence may change while a system is powered on.
Tested: * BMCServices * createPMBus() * Verify correct sysfs path passed to PMBus constructor * isPresent() * Test where hardware is present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where hardware is not present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where D-Bus method call fails with an expected exception * Verify false is stored in cache * Verify false is returned * Test where D-Bus method call fails with an unexpected exception * Verify nothing is cached * Verify exception is re-thrown * clearCache() * Verify clears all cached data * MockServices * Verify all methods can be called from an automated test * Run existing automated tests
Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|
H A D | meson.build | diff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services
Add caching of hardware presence data to the Services class in the phosphor-power-sequencer application. Obtaining hardware presence from D-Bus is a slow operation. During pgood fault isolation, multiple rails may need the same hardware presence information. Cache this information to improve performance.
Provide a method to clear the cached data since it is only valid for a short period of time. For example, power supplies are hot-pluggable, so their presence may change while a system is powered on.
Tested: * BMCServices * createPMBus() * Verify correct sysfs path passed to PMBus constructor * isPresent() * Test where hardware is present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where hardware is not present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where D-Bus method call fails with an expected exception * Verify false is stored in cache * Verify false is returned * Test where D-Bus method call fails with an unexpected exception * Verify nothing is cached * Verify exception is re-thrown * clearCache() * Verify clears all cached data * MockServices * Verify all methods can be called from an automated test * Run existing automated tests
Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|
/openbmc/phosphor-power/phosphor-power-sequencer/test/ |
H A D | mock_services.hpp | diff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services
Add caching of hardware presence data to the Services class in the phosphor-power-sequencer application. Obtaining hardware presence from D-Bus is a slow operation. During pgood fault isolation, multiple rails may need the same hardware presence information. Cache this information to improve performance.
Provide a method to clear the cached data since it is only valid for a short period of time. For example, power supplies are hot-pluggable, so their presence may change while a system is powered on.
Tested: * BMCServices * createPMBus() * Verify correct sysfs path passed to PMBus constructor * isPresent() * Test where hardware is present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where hardware is not present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where D-Bus method call fails with an expected exception * Verify false is stored in cache * Verify false is returned * Test where D-Bus method call fails with an unexpected exception * Verify nothing is cached * Verify exception is re-thrown * clearCache() * Verify clears all cached data * MockServices * Verify all methods can be called from an automated test * Run existing automated tests
Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|
H A D | meson.build | diff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services
Add caching of hardware presence data to the Services class in the phosphor-power-sequencer application. Obtaining hardware presence from D-Bus is a slow operation. During pgood fault isolation, multiple rails may need the same hardware presence information. Cache this information to improve performance.
Provide a method to clear the cached data since it is only valid for a short period of time. For example, power supplies are hot-pluggable, so their presence may change while a system is powered on.
Tested: * BMCServices * createPMBus() * Verify correct sysfs path passed to PMBus constructor * isPresent() * Test where hardware is present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where hardware is not present * Test where value is not cached * Verify value is cached after data obtained from D-Bus * Test where value is cached * Test where D-Bus method call fails with an expected exception * Verify false is stored in cache * Verify false is returned * Test where D-Bus method call fails with an unexpected exception * Verify nothing is cached * Verify exception is re-thrown * clearCache() * Verify clears all cached data * MockServices * Verify all methods can be called from an automated test * Run existing automated tests
Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
|