Lines Matching refs:timestamp

155 	uint64_t timestamp;
362 * A TSC packet can slip past MTC packets so that the timestamp appears
369 intel_pt_log("timestamp: mtc_shift %u\n", decoder->mtc_shift);
370 intel_pt_log("timestamp: tsc_ctc_ratio_n %u\n", decoder->tsc_ctc_ratio_n);
371 intel_pt_log("timestamp: tsc_ctc_ratio_d %u\n", decoder->tsc_ctc_ratio_d);
372 intel_pt_log("timestamp: tsc_ctc_mult %u\n", decoder->tsc_ctc_mult);
373 intel_pt_log("timestamp: tsc_slip %#x\n", decoder->tsc_slip);
621 decoder->sample_timestamp = decoder->timestamp;
630 decoder->timestamp = 0;
657 intel_pt_log("Reference timestamp 0x%" PRIx64 "\n",
780 uint64_t timestamp;
811 uint64_t timestamp;
858 timestamp = data->ctc_timestamp +
861 timestamp = data->ctc_timestamp +
867 if (timestamp < data->timestamp)
871 data->timestamp = timestamp;
884 timestamp = pkt_info->packet.payload |
885 (data->timestamp & (0xffULL << 56));
886 if (data->from_mtc && timestamp < data->timestamp &&
887 data->timestamp - timestamp < decoder->tsc_slip)
889 if (timestamp < data->timestamp)
890 timestamp += (1ULL << 56);
894 data->tsc_timestamp = timestamp;
895 data->timestamp = timestamp;
961 cyc_to_tsc = (double)(timestamp - decoder->timestamp) / data->cycle_cnt;
994 .timestamp = decoder->timestamp,
1051 uint64_t timestamp, masked_timestamp;
1053 timestamp = decoder->timestamp + decoder->timestamp_insn_cnt;
1054 masked_timestamp = timestamp & decoder->period_mask;
1059 timestamp += 1;
1060 masked_timestamp = timestamp & decoder->period_mask;
1070 return decoder->period_ticks - (timestamp - masked_timestamp);
1089 uint64_t timestamp, masked_timestamp;
1096 timestamp = decoder->timestamp + decoder->timestamp_insn_cnt;
1097 masked_timestamp = timestamp & decoder->period_mask;
1771 static uint64_t intel_pt_8b_tsc(uint64_t timestamp, uint64_t ref_timestamp)
1773 timestamp |= (ref_timestamp & (0xffULL << 56));
1775 if (timestamp < ref_timestamp) {
1776 if (ref_timestamp - timestamp > (1ULL << 55))
1777 timestamp += (1ULL << 56);
1779 if (timestamp - ref_timestamp > (1ULL << 55))
1780 timestamp -= (1ULL << 56);
1783 return timestamp;
1788 uint64_t timestamp)
1796 return timestamp >= decoder->last_reliable_timestamp &&
1797 timestamp < decoder->buf_timestamp;
1802 uint64_t timestamp;
1808 timestamp = intel_pt_8b_tsc(decoder->packet.payload,
1810 decoder->tsc_timestamp = timestamp;
1811 decoder->timestamp = timestamp;
1814 } else if (decoder->timestamp) {
1815 timestamp = decoder->packet.payload |
1816 (decoder->timestamp & (0xffULL << 56));
1817 decoder->tsc_timestamp = timestamp;
1818 if (timestamp < decoder->timestamp &&
1819 decoder->timestamp - timestamp < decoder->tsc_slip) {
1820 intel_pt_log_to("Suppressing backwards timestamp",
1821 timestamp);
1822 timestamp = decoder->timestamp;
1824 if (timestamp < decoder->timestamp) {
1826 (timestamp + (1ULL << 56) < decoder->buf_timestamp)) {
1827 intel_pt_log_to("Wraparound timestamp", timestamp);
1828 timestamp += (1ULL << 56);
1829 decoder->tsc_timestamp = timestamp;
1831 intel_pt_log_to("Suppressing bad timestamp", timestamp);
1832 timestamp = decoder->timestamp;
1837 (bad || !intel_pt_time_in_range(decoder, timestamp)) &&
1840 decoder->timestamp = timestamp;
1845 decoder->cyc_ref_timestamp = decoder->timestamp;
1851 intel_pt_log_to("Setting timestamp", decoder->timestamp);
1874 decoder->cyc_cnt_timestamp = decoder->timestamp;
1895 if (!decoder->pge || decoder->timestamp <= decoder->cyc_cnt_timestamp)
1898 tsc_delta = decoder->timestamp - decoder->cyc_cnt_timestamp;
1932 intel_pt_log("CTC timestamp " x64_fmt " last MTC %#x CTC rem %#x\n",
1938 uint64_t timestamp;
1960 timestamp = decoder->ctc_timestamp +
1963 timestamp = decoder->ctc_timestamp +
1969 if (timestamp < decoder->timestamp)
1970 intel_pt_log("Suppressing MTC timestamp " x64_fmt " less than current timestamp " x64_fmt "\n",
1971 timestamp, decoder->timestamp);
1973 decoder->timestamp = timestamp;
1981 decoder->cyc_ref_timestamp = decoder->timestamp;
1987 intel_pt_log_to("Setting timestamp", decoder->timestamp);
2001 decoder->cyc_ref_timestamp = decoder->timestamp;
2009 uint64_t timestamp = decoder->cyc_ref_timestamp;
2022 timestamp += decoder->cycle_cnt * decoder->calc_cyc_to_tsc;
2024 timestamp += decoder->cycle_cnt * decoder->cbr_cyc_to_tsc;
2028 if (timestamp < decoder->timestamp)
2029 intel_pt_log("Suppressing CYC timestamp " x64_fmt " less than current timestamp " x64_fmt "\n",
2030 timestamp, decoder->timestamp);
2032 decoder->timestamp = timestamp;
2036 intel_pt_log_to("Setting timestamp", decoder->timestamp);
2633 ref_timestamp = decoder->timestamp ? decoder->timestamp : decoder->buf_timestamp;
2779 host_tsc = intel_pt_8b_tsc(host_tsc, decoder->timestamp);
2790 host_tsc = decoder->timestamp;
3340 /* Ensure that there is a timestamp */
3341 if (!decoder->timestamp)
3922 if (!decoder->timestamp)
3923 decoder->timestamp = 1;
4060 /* Let PSB event always have TSC timestamp */
4068 decoder->state.timestamp = decoder->sample_timestamp;
4389 * @timestamp: timestamp to fast forward towards
4390 * @buf_timestamp: buffer timestamp of last buffer with trace data earlier than
4391 * the fast forward timestamp.
4394 uint64_t timestamp;
4403 * Determine if @buffer trace is past the fast forward timestamp.
4406 * timestamp, and 0 otherwise.
4425 intel_pt_log("Buffer 1st timestamp " x64_fmt " ref timestamp " x64_fmt "\n",
4429 * If the buffer contains a timestamp earlier that the fast forward
4430 * timestamp, then record it, else stop.
4432 if (tsc < d->timestamp)
4443 * @timestamp: timestamp to fast forward towards
4445 * Reposition decoder at the last PSB with a timestamp earlier than @timestamp.
4449 int intel_pt_fast_forward(struct intel_pt_decoder *decoder, uint64_t timestamp)
4451 struct fast_forward_data d = { .timestamp = timestamp };
4456 intel_pt_log("Fast forward towards timestamp " x64_fmt "\n", timestamp);
4458 /* Find buffer timestamp of buffer to fast forward to */
4463 /* Walk to buffer with same buffer timestamp */
4485 * Walk PSBs while the PSB timestamp is less than the fast forward
4486 * timestamp.
4497 * forward, decoding starts at the TSC timestamp. That means
4501 if (tsc < timestamp) {
4502 intel_pt_log("Fast forward to next PSB timestamp " x64_fmt "\n", tsc);