Searched refs:TSC (Results 1 - 25 of 34) sorted by relevance

12

/openbsd-current/gnu/llvm/compiler-rt/lib/xray/
H A Dxray_fdr_controller.h146 PreambleResult recordPreamble(uint64_t TSC,
149 // We update our internal tracking state for the Latest TSC and CPU we've
151 LatestTSC = TSC;
157 W.writeMetadata<MetadataRecord::RecordKinds::NewCPUId>(CPU, TSC);
163 if (UNLIKELY(LatestTSC > TSC ||
164 TSC - LatestTSC >
166 // Either the TSC has wrapped around from the last TSC we've seen or the
169 LatestTSC = TSC;
174 W.writeMetadata<MetadataRecord::RecordKinds::TSCWrap>(TSC);
[all...]
H A Dxray_fdr_logging.cpp157 // metadata records for TSC wraparound and CPU migration).
411 uint64_t TSC = 0; member in struct:__xray::TSCAndCPU
416 // We want to get the TSC as early as possible, so that we can check whether
428 Result.TSC = __xray::readTSC(Result.CPU);
438 Result.TSC = TS.tv_sec * __xray::NanosecondsPerSecond + TS.tv_nsec;
497 auto &TSC = TC.TSC; variable
510 TLD.Controller->functionEnter(FuncId, TSC, CPU);
513 TLD.Controller->functionExit(FuncId, TSC, CPU);
516 TLD.Controller->functionTailExit(FuncId, TSC, CP
527 auto &TSC = TC.TSC; variable
557 auto &TSC = TC.TSC; variable
587 auto &TSC = TC.TSC; variable
[all...]
H A Dxray_basic_logging.cpp45 // We use elements of this type to record the entry TSC of every function ID we
52 uint64_t TSC; variable
173 uint64_t TSC = ReadTSC(CPU); variable
182 // When we encounter an entry event, we keep track of the TSC and the CPU,
188 E.TSC = TSC;
217 StackTop.TSC < TSC) {
218 auto Delta = TSC - StackTop.TSC;
[all...]
H A Dxray_function_call_trie.h115 uint64_t CumulativeLocalTime; // Typically in TSC deltas, not wall-time.
358 void enterFunction(const int32_t FId, uint64_t TSC,
380 if (ShadowStack.AppendEmplace(TSC, NewRoot, CPU) == nullptr) {
400 if (ShadowStack.AppendEmplace(TSC, Callee->NodePtr, CPU) == nullptr)
412 if (ShadowStack.AppendEmplace(TSC, NewNode, CPU) == nullptr)
417 void exitFunction(int32_t FId, uint64_t TSC,
437 // We may encounter overflow on the TSC we're provided, which may end up
438 // being less than the TSC when we first entered the function.
441 // we've overflowed (TSC < Top.EntryTSC) and then account the difference
442 // between the entry TSC an
[all...]
H A Dxray_profiling.cpp274 auto TSC = readTSC(CPU); variable
298 FCT->enterFunction(FuncId, TSC, CPU);
302 FCT->exitFunction(FuncId, TSC, CPU);
/openbsd-current/gnu/llvm/compiler-rt/lib/xray/tests/unit/
H A Dfdr_controller_test.cpp83 uint64_t TSC = 2; local
85 ASSERT_TRUE(C->functionEnter(FId, TSC++, CPU));
86 ASSERT_TRUE(C->functionExit(FId, TSC++, CPU));
87 ASSERT_TRUE(C->functionEnterArg(FId, TSC++, CPU, 1));
88 ASSERT_TRUE(C->functionTailExit(FId, TSC++, CPU));
142 uint64_t TSC = 1; local
144 ASSERT_TRUE(C->functionEnter(1, TSC++, CPU));
145 ASSERT_TRUE(C->functionEnter(2, TSC++, CPU));
146 ASSERT_TRUE(C->functionExit(2, TSC++, CPU));
147 ASSERT_TRUE(C->functionExit(1, TSC
167 uint64_t TSC = 1; local
194 uint64_t TSC = 1; local
221 uint64_t TSC = 1; local
255 uint64_t TSC = 1; local
319 uint64_t TSC = 1; local
335 uint64_t TSC = 1; local
352 uint64_t TSC = 1; local
373 uint64_t TSC = 1; local
400 uint64_t TSC = 1; local
[all...]
H A Dtest_helpers.h49 MATCHER_P(TSCIs, M, std::string("TSC is ") + ::testing::PrintToString(M)) {
50 return ::testing::Matcher<decltype(arg.TSC)>(M).MatchAndExplain(
51 arg.TSC, result_listener);
H A Dfdr_log_writer_test.cpp97 uint64_t TSC = 1; local
99 Writer.writeFunction(FDRLogWriter::FunctionRecordKind::Enter, 1, TSC++));
101 Writer.writeFunction(FDRLogWriter::FunctionRecordKind::Exit, 1, TSC++));
113 Writer.writeFunction(FDRLogWriter::FunctionRecordKind::Enter, 1, TSC++));
H A Dtest_helpers.cpp47 << "; TSC = " << R.TSC << "; TId = " << R.TId << "; PId = " << R.PId
H A Dfunction_call_trie_test.cpp31 uint64_t TSC = 1; local
33 Trie.enterFunction(1, TSC++, CPU++);
34 Trie.exitFunction(1, TSC++, CPU++);
/openbsd-current/gnu/llvm/llvm/include/llvm/XRay/
H A DXRayRecord.h35 /// Whether the CPU that produced the timestamp counters (TSC) move at a
39 /// Whether the CPU that produced the timestamp counters (TSC) do not stop.
43 /// counter (TSC) values. Useful for estimating the amount of time that
85 /// Get the full 8 bytes of the TSC when we get the log record.
86 uint64_t TSC; member in struct:llvm::xray::XRayRecord
H A DYAMLXRayRecord.h37 uint64_t TSC; member in struct:llvm::xray::YAMLXRayRecord
86 IO.mapRequired("tsc", Record.TSC);
H A DFDRRecords.h160 uint64_t TSC = 0; member in class:llvm::xray::NewCPUIDRecord
171 CPUId(C), TSC(T) {}
175 uint64_t tsc() const { return TSC; }
208 uint64_t TSC = 0; member in class:llvm::xray::CustomEventRecord
221 Size(S), TSC(T), CPU(C), Data(std::move(D)) {}
224 uint64_t tsc() const { return TSC; }
/openbsd-current/gnu/llvm/llvm/lib/XRay/
H A DFDRTraceExpander.cpp42 CurrentRecord.TSC = R.tsc();
57 CurrentRecord.TSC = BaseTSC;
72 CurrentRecord.TSC = BaseTSC;
116 CurrentRecord.TSC = BaseTSC;
H A DTrace.cpp126 Record.TSC = Reader.getU64(&OffsetPtr);
130 "Failed reading TSC field at offset %" PRId64 ".", OffsetPtr);
235 /// NewCPUId: 16 byte metadata record with CPUId and a 64 bit TSC reading.
238 /// TSCWrap: 16 byte metadata record with a full 64 bit TSC reading.
239 /// FunctionRecord: 8 byte record with FunctionId, entry/exit, and TSC delta.
261 /// CustomEventRecord and TypedEventRecord now use TSC delta encoding similar to
371 R.FuncId, R.TSC, R.TId,
471 return L.TSC < R.TSC;
/openbsd-current/gnu/llvm/lldb/source/Plugins/Trace/intel-pt/
H A DDecodedThread.h63 using TSC = uint64_t;
66 /// the same TSC value.
68 TSC tsc;
85 /// The corresponding TSC value for this range.
86 TSC tsc;
186 /// that have the same TSC value.
192 /// The requested TSC range, or \a std::nullopt if not available.
234 /// If this a new TSC, an event will be created.
235 void NotifyTsc(TSC tsc);
294 /// `item index -> TSC`, wher
[all...]
H A DDecodedThread.cpp61 // If this is the last TSC range, so we have to extrapolate. In this case,
62 // we assume that each instruction took one TSC, which is what an
68 // If the numbers of items in this range is less than the total TSC duration
69 // of this range, i.e. each instruction taking longer than 1 TSC, then we
72 // also assume that each instruction took 1 TSC. A proper way to improve
82 // In this case, each item took less than 1 TSC, so some parallelism was
118 void DecodedThread::NotifyTsc(TSC tsc) {
253 (sizeof(uint64_t) + sizeof(TSC)) * m_tscs.size() +
H A DLibiptDecoder.cpp337 /// Any of this PSB's data occurring after this TSC will be excluded.
341 std::optional<DecodedThread::TSC> tsc_upper_bound)
375 std::optional<DecodedThread::TSC> tsc_upper_bound) {
391 // We emit a TSC before a sync event to more easily associate a timestamp to
392 // the sync event. If present, the current block's TSC would be the first
393 // TSC we'll see when processing events.
464 /// Process the TSC of a decoded PT event. Specifically, check if this TSC
465 /// is below the TSC upper bound for this PSB. If the TSC exceed
[all...]
/openbsd-current/gnu/llvm/clang/lib/Interpreter/
H A DIncrementalExecutor.cpp31 IncrementalExecutor::IncrementalExecutor(llvm::orc::ThreadSafeContext &TSC, argument
34 : TSCtx(TSC) {
H A DIncrementalExecutor.h46 IncrementalExecutor(llvm::orc::ThreadSafeContext &TSC, llvm::Error &Err,
/openbsd-current/gnu/llvm/compiler-rt/include/xray/
H A Dxray_records.h51 // The frequency by which TSC increases per-second.
91 // Get the full 8 bytes of the TSC when we get the log record.
92 uint64_t TSC = 0; variable
/openbsd-current/gnu/llvm/llvm/tools/llvm-xray/
H A Dxray-stacks.cpp373 // When we encounter a new function entry, we want to record the TSC for
380 R.TSC);
394 TS.emplace_back(N, R.TSC);
397 // instead, add it to the stack associated with the TSC.
398 TS.emplace_back(*I, R.TSC);
432 std::max(E.second, R.TSC) - std::min(E.second, R.TSC));
436 std::max(Deepest.second, R.TSC) - std::min(Deepest.second, R.TSC));
439 std::max(Deepest.second, R.TSC)
[all...]
H A Dxray-account.cpp161 setMinMax(PerThreadMinMaxTSC[Record.TId], Record.TSC);
162 setMinMax(PerCPUMinMaxTSC[Record.CPU], Record.TSC);
165 CurrentMaxTSC = Record.TSC;
167 if (Record.TSC < CurrentMaxTSC)
180 ThreadStack.Stack.emplace_back(Record.FuncId, Record.TSC);
194 recordLatency(Top.first, diff(Top.second, Record.TSC));
245 recordLatency(E.first, diff(E.second, Record.TSC));
492 Record.TSC, Record.TId, Record.PId)
H A Dxray-graph.cpp194 // If the record is an ENTER record it pushes the FuncID and TSC onto a
214 CurrentMaxTSC = Record.TSC;
216 if (Record.TSC < CurrentMaxTSC)
226 ThreadStack.push_back({Record.FuncId, Record.TSC});
247 TimestampT D = diff(ThreadStack.back().TSC, Record.TSC);
258 uint64_t D = diff(ThreadStack.back().TSC, Record.TSC);
336 // Normalises the statistics in the graph for a given TSC frequency.
H A Dxray-converter.cpp97 R.TSC, R.TId, R.PId, R.CallArgs, R.Data});
152 Writer.write(R.TSC);
291 // TSC / CyclesPerMicro == TSC * 10^6 / CycleHertz == MicroTimestamp
292 // Could lose some precision here by converting the TSC to a double to
297 double EventTimestampUs = double(1000000) / CycleFreq * double(R.TSC);

Completed in 151 milliseconds

12