dcavalca / rpms / linuxptp

Forked from rpms/linuxptp 2 years ago
Clone
c547f6
commit 3399fa15ae28610c1b288b573c4233a42c48f762
c547f6
Author: Amar Subramanyam via Linuxptp-devel <linuxptp-devel@lists.sourceforge.net>
c547f6
Date:   Wed May 26 12:24:06 2021 +0300
c547f6
c547f6
    Log optimization for ptp4l in jbod and client only mode (clientOnly=1 and boundary_clock_jbod=1)
c547f6
    
c547f6
    The LISTENING port prints continuously
c547f6
    "selected best master clock 000000.0000.000003
c547f6
    updating UTC offset to 37"
c547f6
    
c547f6
    We limited the log such that now it prints only when there is a
c547f6
    change in the best-master clock.
c547f6
    
c547f6
    Signed-off-by: Amar Subramanyam <asubramanyam@altiostar.com>
c547f6
    Signed-off-by: Karthikkumar Valoor <kvaloor@altiostar.com>
c547f6
    Signed-off-by: Ramana Reddy <rreddy@altiostar.com>
c547f6
c547f6
diff --git a/clock.c b/clock.c
c547f6
index e545a9b..d428ae2 100644
c547f6
--- a/clock.c
c547f6
+++ b/clock.c
c547f6
@@ -705,7 +705,8 @@ static void clock_update_slave(struct clock *c)
c547f6
 	if (c->tds.currentUtcOffset < c->utc_offset) {
c547f6
 		pr_warning("running in a temporal vortex");
c547f6
 	}
c547f6
-	if ((c->tds.flags & UTC_OFF_VALID && c->tds.flags & TIME_TRACEABLE) ||
c547f6
+	if (((c->tds.flags & UTC_OFF_VALID && c->tds.flags & TIME_TRACEABLE) &&
c547f6
+	    (c->tds.currentUtcOffset != c->utc_offset)) ||
c547f6
 	    (c->tds.currentUtcOffset > c->utc_offset)) {
c547f6
 		pr_info("updating UTC offset to %d", c->tds.currentUtcOffset);
c547f6
 		c->utc_offset = c->tds.currentUtcOffset;
c547f6
@@ -1939,14 +1940,6 @@ static void handle_state_decision_event(struct clock *c)
c547f6
 		best_id = c->dds.clockIdentity;
c547f6
 	}
c547f6
 
c547f6
-	if (cid_eq(&best_id, &c->dds.clockIdentity)) {
c547f6
-		pr_notice("selected local clock %s as best master",
c547f6
-			  cid2str(&best_id));
c547f6
-	} else {
c547f6
-		pr_notice("selected best master clock %s",
c547f6
-			  cid2str(&best_id));
c547f6
-	}
c547f6
-
c547f6
 	if (!cid_eq(&best_id, &c->best_id)) {
c547f6
 		clock_freq_est_reset(c);
c547f6
 		tsproc_reset(c->tsproc, 1);
c547f6
@@ -1957,6 +1950,13 @@ static void handle_state_decision_event(struct clock *c)
c547f6
 		c->master_local_rr = 1.0;
c547f6
 		c->nrr = 1.0;
c547f6
 		fresh_best = 1;
c547f6
+		if (cid_eq(&best_id, &c->dds.clockIdentity)) {
c547f6
+			pr_notice("selected local clock %s as best master",
c547f6
+					cid2str(&best_id));
c547f6
+		} else {
c547f6
+			pr_notice("selected best master clock %s",
c547f6
+					cid2str(&best_id));
c547f6
+		}
c547f6
 	}
c547f6
 
c547f6
 	c->best = best;
c547f6
c547f6
commit 766baf345cd4fb025d186f9c9bea5276aba398bc
c547f6
Author: Amar Subramanyam via Linuxptp-devel <linuxptp-devel@lists.sourceforge.net>
c547f6
Date:   Wed May 26 12:24:07 2021 +0300
c547f6
c547f6
    Log optimization for ptp4l in jbod and client only mode (clientOnly=1 and boundary_clock_jbod=1)
c547f6
    
c547f6
    The port other than SLAVE (LISTENING port) prints an error
c547f6
    "port 1: master state recommended in slave only mode
c547f6
    ptp4l[1205469.356]: port 1: defaultDS.priority1 probably misconfigured"
c547f6
    for every ANNOUNCE RECEIPT Timeout.
c547f6
    
c547f6
    This log is printed when the event EV_RS_MASTER is thrown
c547f6
    in clientOnly mode. But single port clientOnly mode will never
c547f6
    hit this event instead EV_RS_GRAND_MASTER will be hit.
c547f6
    EV_RS_MASTER is thrown when clientOnly=1 and boundary_clock_jbod=1
c547f6
    which results in continuous printing. So EV_RS_MASTER check when
c547f6
    clientOnly=1 to print this error can be avoided.
c547f6
    
c547f6
    Signed-off-by: Amar Subramanyam <asubramanyam@altiostar.com>
c547f6
    Signed-off-by: Karthikkumar Valoor <kvaloor@altiostar.com>
c547f6
    Signed-off-by: Ramana Reddy <rreddy@altiostar.com>
c547f6
c547f6
diff --git a/port.c b/port.c
c547f6
index 250d46d..b5b775f 100644
c547f6
--- a/port.c
c547f6
+++ b/port.c
c547f6
@@ -2536,7 +2536,7 @@ void port_dispatch(struct port *p, enum fsm_event event, int mdiff)
c547f6
 static void bc_dispatch(struct port *p, enum fsm_event event, int mdiff)
c547f6
 {
c547f6
 	if (clock_slave_only(p->clock)) {
c547f6
-		if (event == EV_RS_MASTER || event == EV_RS_GRAND_MASTER) {
c547f6
+		if (event == EV_RS_GRAND_MASTER) {
c547f6
 			port_slave_priority_warning(p);
c547f6
 		}
c547f6
 	}