tpd and pds Depending upon system load, the read pmc call can timeout. When it happens the corresponding data set is reset, allowing the HA algorithm to switch over the current source. Although the read timeout is undesirable, the error message is misleading because the failure is mitigated. Downgrade the error message to notice to disable it in the default log level. Test Plan: PASS: Deploy T-BC with single PTP4L instance - Load system (stress -c 64 -m 5 -t 60) check user.log, phc2sys not showing the error message phc2sys: notice [1200995.017] phc-inst2 pmc agent index 0, timeout reading pmc tpd PASS: Deploy T-BC with single PTP4L instance - Adjust the log to debug level system ptp-instance-parameter-add phc-inst2 logging_level=7 - Load system (stress -c 64 -m 5 -t 60) check user.log, phc2sys eventually shows the error message phc2sys: notice [1215208.628] phc-inst2 pmc agent index 0, timeout reading pmc tpd PASS: Build linuxptp package Closes-Bug: 2132273 Change-Id: I3e05de4006c0e35b725178d9e56eaf8c72d52747 Signed-off-by: Andre Mauricio Zelak <andre.zelak@windriver.com>
54 lines
1.5 KiB
Diff
54 lines
1.5 KiB
Diff
From: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
|
Date: Mon, 12 Jun 2023 17:32:27 -0300
|
|
Subject: [PATCH 31/67] pmc_agent: Let the update method poll for push events.
|
|
|
|
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
|
|
|
|
[commit c4a5eef1f4763805e6e2a2d25eb1d436018d4745 upstream]
|
|
Signed-off-by: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
|
---
|
|
pmc_agent.c | 3 +++
|
|
pmc_agent.h | 5 +++--
|
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/pmc_agent.c b/pmc_agent.c
|
|
index aa2347d..6e6627d 100644
|
|
--- a/pmc_agent.c
|
|
+++ b/pmc_agent.c
|
|
@@ -390,6 +390,7 @@ int pmc_agent_subscribe(struct pmc_agent *node, int timeout)
|
|
|
|
int pmc_agent_update(struct pmc_agent *node)
|
|
{
|
|
+ struct ptp_message *msg;
|
|
struct timespec tp;
|
|
uint64_t ts;
|
|
|
|
@@ -411,6 +412,8 @@ int pmc_agent_update(struct pmc_agent *node)
|
|
}
|
|
}
|
|
|
|
+ run_pmc(node, 0, -1, &msg);
|
|
+
|
|
return 0;
|
|
}
|
|
|
|
diff --git a/pmc_agent.h b/pmc_agent.h
|
|
index f0e2c7a..dd34d30 100644
|
|
--- a/pmc_agent.h
|
|
+++ b/pmc_agent.h
|
|
@@ -141,11 +141,12 @@ void pmc_agent_set_sync_offset(struct pmc_agent *agent, int offset);
|
|
int pmc_agent_subscribe(struct pmc_agent *agent, int timeout);
|
|
|
|
/**
|
|
- * Queries the local ptp4l instance to update the TAI-UTC offset and
|
|
- * the current leap second flags.
|
|
+ * Polls for push notifications from the local ptp4l service.
|
|
*
|
|
* In addition:
|
|
*
|
|
+ * - Queries the local ptp4l instance to update the TAI-UTC offset and
|
|
+ * the current leap second flags.
|
|
* - Any active port state subscription will be renewed.
|
|
* - The port state notification callback might be invoked.
|
|
*
|