[rtems commit] record: Simplify client visit()

Sebastian Huber sebh at rtems.org
Sat Aug 17 18:16:36 UTC 2019


Module:    rtems
Branch:    master
Commit:    17331028e5c4bcc8150dd30c2c0d61a4d2642ab0
Changeset: http://git.rtems.org/rtems/commit/?id=17331028e5c4bcc8150dd30c2c0d61a4d2642ab0

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Sat Aug 17 14:34:59 2019 +0200

record: Simplify client visit()

---

 cpukit/libtrace/record/record-client.c | 38 +++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 14 deletions(-)

diff --git a/cpukit/libtrace/record/record-client.c b/cpukit/libtrace/record/record-client.c
index 269cf5b..153b8e4 100644
--- a/cpukit/libtrace/record/record-client.c
+++ b/cpukit/libtrace/record/record-client.c
@@ -299,6 +299,29 @@ static rtems_record_client_status hold_back(
   return RTEMS_RECORD_CLIENT_SUCCESS;
 }
 
+static uint64_t time_bt(
+  const rtems_record_client_context *ctx,
+  rtems_record_client_per_cpu       *per_cpu,
+  uint32_t                           time
+)
+{
+  uint64_t bt;
+
+  if ( time != 0 ) {
+    uint32_t delta;
+
+    delta = ( time - per_cpu->uptime.time_last ) & TIME_MASK;
+    per_cpu->uptime.time_last = time;
+    per_cpu->uptime.time_accumulated += delta;
+    bt = ( per_cpu->uptime.time_accumulated * ctx->to_bt_scaler ) >> 31;
+    bt += per_cpu->uptime.bt;
+  } else {
+    bt = 0;
+  }
+
+  return bt;
+}
+
 static rtems_record_client_status visit(
   rtems_record_client_context *ctx,
   uint32_t                     time_event,
@@ -308,7 +331,6 @@ static rtems_record_client_status visit(
   rtems_record_client_per_cpu *per_cpu;
   uint32_t                     time;
   rtems_record_event           event;
-  uint64_t                     bt;
   rtems_record_client_status   status;
 
   per_cpu = &ctx->per_cpu[ ctx->cpu ];
@@ -377,19 +399,7 @@ static rtems_record_client_status visit(
     return hold_back( ctx, per_cpu, time_event, event, data );
   }
 
-  if ( time != 0 ) {
-    uint32_t delta;
-
-    delta = ( time - per_cpu->uptime.time_last ) & TIME_MASK;
-    per_cpu->uptime.time_last = time;
-    per_cpu->uptime.time_accumulated += delta;
-    bt = ( per_cpu->uptime.time_accumulated * ctx->to_bt_scaler ) >> 31;
-    bt += per_cpu->uptime.bt;
-  } else {
-    bt = 0;
-  }
-
-  return call_handler( ctx, bt, event, data );
+  return call_handler( ctx, time_bt( ctx, per_cpu, time ), event, data );
 }
 
 static rtems_record_client_status consume_32(




More information about the vc mailing list