commit | 25bc7ac647ce216b1d6a4f4dcb55beadb064ced6 | [log] [tgz] |
---|---|---|
author | William A. Kennington III <wak@google.com> | Thu Mar 15 11:48:41 2018 -0700 |
committer | William A. Kennington III <wak@google.com> | Mon Apr 02 23:35:10 2018 +0000 |
tree | 04c9582744494741e9a9035fdee3eff49d9ff857 | |
parent | 7f2d7c90a27aacb45fa5ccc18c777593e007d2a7 [diff] |
watchdog: Cache service name We have occasionally noticed that the watchdog will be enabled and then immediately trip upon booting of the BMC. This happens if the host is still running when the BMC is coming up. Digging into the issue we notice that the phosphor-mapper can be under very heavy load responding to all of the initial mapping requests from BMC daemons starting. This causes a delay in the phosphor-watchdog service name lookup during an attempt to reset the watchdog countdown. The lookup delay is so long that the watchdog ends up tripping before the reset is actually issued, causing the BMC to reset the host. Since we know that the watchdog will not be armed until the service resolves for the first time, we can reduce the dependence and pressure on the service mapper by caching the service name. Since it is the case that we want to keep issuing resets to the same daemon that was initially configured, we should have no worries about invalidating the cached service name. The name will be invalidated any time we encounter a dbus level error issuing a watchdog commmand. Change-Id: I303a39be997c2e57050b71efc8ef2e2cb27f8cf7 Signed-off-by: William A. Kennington III <wak@google.com>
To build this package, do the following steps:
1. ./bootstrap.sh 2. ./configure ${CONFIGURE_FLAGS} 3. make
To full clean the repository again run ./bootstrap.sh clean
.