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