From 731e8938953e56578007a679dbaa29e9471650ac Mon Sep 17 00:00:00 2001 From: Andre Mauricio Zelak Date: Mon, 12 Jun 2023 15:18:36 -0300 Subject: [PATCH 22/50] pmc_agent: Simplify logic in update method. If the pmc pointer is not set, then there is no need to read the time only to later discard the result. This patch simplifies the flow by returning early if there is no work to be done. Signed-off-by: Richard Cochran Reviewed-by: Jacob Keller Reviewed-by: Vladimir Oltean [commit 956b7eeb8247e3f0658b1205dfd3bea3e1011ee2 upstream] Signed-off-by: Andre Mauricio Zelak --- pmc_agent.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pmc_agent.c b/pmc_agent.c index dd509af..f30f174 100644 --- a/pmc_agent.c +++ b/pmc_agent.c @@ -342,14 +342,16 @@ int update_pmc_node(struct pmc_agent *node) struct timespec tp; uint64_t ts; + if (!node->pmc) { + return 0; + } if (clock_gettime(CLOCK_MONOTONIC, &tp)) { pr_err("failed to read clock: %m"); return -1; } ts = tp.tv_sec * NS_PER_SEC + tp.tv_nsec; - if (node->pmc && - !(ts > node->pmc_last_update && + if (!(ts > node->pmc_last_update && ts - node->pmc_last_update < PMC_UPDATE_INTERVAL)) { if (node->stay_subscribed) { renew_subscription(node, 0); -- 2.25.1