41 bool entryInterruptsAlreadyDisabled =
false,
42 Thread* currentThread =
nullptr)
43 : m_pProcess(pProcess),
44 m_pThread(currentThread),
45 m_bFromUserspace(fromUserspace)
46#if PEDIGREE_BENCHMARK_SYSCALL_TIMING
48 m_bSyscallAttributed(
false),
49 m_PreviousSyscallTimingSlot(~
static_cast<size_t>(0))
52 initialise(entryInterruptsAlreadyDisabled);
55 if (m_pProcess && m_pThread)
67#if PEDIGREE_BENCHMARK_SYSCALL_TIMING
68 if (m_bSyscallAttributed) {
74 Thread* thread = m_pThread;
75 if (!m_pProcess || !thread)
82#if PEDIGREE_BENCHMARK_SYSCALL_TIMING
83 restoreSyscallTiming(thread);
91 void initialise(
bool entryInterruptsAlreadyDisabled);
92#if PEDIGREE_BENCHMARK_SYSCALL_TIMING
93 void restoreSyscallTiming(
Thread* thread);
98 bool m_bFromUserspace;
99#if PEDIGREE_BENCHMARK_SYSCALL_TIMING
100 bool m_bSyscallAttributed;
101 size_t m_PreviousSyscallTimingSlot;