Expand description
Detcore’s side of the access trace (--record-access-trace-to); the
record types are detcore_model::access_trace.
The trace is made in three places:
- The guest thread notes the descriptor slots its syscall changes
(
TracedCall), and snapshots the descriptors the call names right after its prehook event (FdInfo). At the posthook,accesses, a pure function ofCallFacts, turns these, the arguments and the result into the record’s accesses. - The record rides to the scheduler as an optional payload of the
prehook, posthook and signal-delivery
TraceSchedEventrequests the thread sends anyway (AccessPayload). - The scheduler, which numbers the recorded events, completes each record
and writes it (
AccessTraceWriter).
Nothing here sends a scheduler request, charges virtual time or changes state a scheduling decision reads: the trace observes the run.
Structs§
- Access
Trace Writer - Writes the trace as the scheduler records events. It lives in the scheduler, so records are numbered and ordered under the scheduler’s lock.
- Signal
Note - A signal event and the disposition observed before submitting it.
- Syscall
Entry - A syscall as its prehook sees it.
- Syscall
Outcome - A syscall’s outcome, as its posthook sees it.
Enums§
- Access
Payload - What a traced schedule event carries to the scheduler, beside the event.
Traits§
- Process
Groups - The process table facts the writer resolves a group signal with.