Add offset_s to deal with offset overflow
[ctf.git] / common-trace-format-specification.txt
index 528029dc9d4ce799f394cf5105e159d1201869ac..545fbc7ebaa98ffeb602e481fcf038935c476ade 100644 (file)
@@ -1257,14 +1257,18 @@ the clock and clock topology should be described in a "clock"
 description block, e.g.:
 
 clock {
 description block, e.g.:
 
 clock {
-       name = cycle_counter;
+       name = cycle_counter_sync;
        uuid = "62189bee-96dc-11e0-91a8-cfa3d89f3923";
        uuid = "62189bee-96dc-11e0-91a8-cfa3d89f3923";
-       description = "Local CPU cycle counter";
+       description = "Cycle counter synchronized across CPUs";
        freq = 1000000000;             /* frequency, in Hz */
        /* precision in seconds is: 1000 * (1/freq) */
        precision = 1000;
        freq = 1000000000;             /* frequency, in Hz */
        /* precision in seconds is: 1000 * (1/freq) */
        precision = 1000;
-       /* clock value offset from Epoch is: offset * (1/freq) */
-       offset = 1326476837897235420;
+       /*
+        * clock value offset from Epoch is:
+        * offset_s + (offset * (1/freq))
+        */
+       offset_s = 1326476837;
+       offset = 897235420;
 };
 
 The mandatory "name" field specifies the name of the clock identifier,
 };
 
 The mandatory "name" field specifies the name of the clock identifier,
@@ -1275,17 +1279,19 @@ can be added with the "description" field. The "freq" field is the
 initial frequency of the clock, in Hz. If the "freq" field is not
 present, the frequency is assumed to be 1000000000 (providing clock
 increment of 1 ns). The optional "precision" field details the
 initial frequency of the clock, in Hz. If the "freq" field is not
 present, the frequency is assumed to be 1000000000 (providing clock
 increment of 1 ns). The optional "precision" field details the
-uncertainty on the clock measurements, in (1/freq) units. The "offset"
-field indicates the offset from POSIX.1 Epoch, 1970-01-01 00:00:00 +0000
-(UTC), to the zero of value of the clock, in (1/freq) units. If the
-"offset" field is not present, it is assigned the 0 value.
+uncertainty on the clock measurements, in (1/freq) units. The "offset_s"
+and "offset" fields indicate the offset from POSIX.1 Epoch, 1970-01-01
+00:00:00 +0000 (UTC), to the zero of value of the clock. The "offset_s"
+field is in seconds. The "offset" field is in (1/freq) units. If any of
+the "offset_s" or "offset" field is not present, it is assigned the 0
+value.
 
 Secondly, a reference to this clock should be added within an integer
 type:
 
 typealias integer {
        size = 64; align = 1; signed = false;
 
 Secondly, a reference to this clock should be added within an integer
 type:
 
 typealias integer {
        size = 64; align = 1; signed = false;
-       map = clock.cycle_counter.value;
+       map = clock.cycle_counter_sync.value;
 } := uint64_ccnt_t;
 
 Thirdly, stream declarations can reference the clock they use as a
 } := uint64_ccnt_t;
 
 Thirdly, stream declarations can reference the clock they use as a
This page took 0.022705 seconds and 4 git commands to generate.