Lines Matching refs:of
3 Stackshot has been retrofitted to take advantage of multiple CPUs. This document
4 details the design of multithreaded stackshot.
19 the debugger trap instead of spinning, and determine if they are eligible to
25 populating queues of tasks to be put into the stackshot and collecting bits of
31 debugger trap, interrupts are re-enabled, and the kcdata from all of the CPUs
35 It is important to note that since stackshot happens outside of the context of
39 allows for stackshot to grab an atomic snapshot of the entire system's state.
46 "difficulty" (i.e. the number of threads they have). E cores will work on the
52 such as the amount of time spent waiting for the queue and the number of tasks /
59 improved from that of singlethreaded stackshot - it uses various heuristics such
60 as the number of tasks and threads on the system, the flags passed, sizes of
63 one. The number of tries is recorded in the `stackshot_latency_collection_v2`
70 with space split evenly between each cluster. If a cluster runs out of buffer
79 `stackshot_latency_cpu` struct. This includes the total amount of buffer space
80 used and the amount of buffer space allocated from other clusters.
85 one should be ahead of time. Because of this, allocate kcdata buffers in
88 maintain a linked list of these kcdata chunks for each task in the queue.
91 have any extra room at the end of the current chunk once we finish with a task,
94 a good chunk size. The amount of memory added to the freelist is reported by
114 is indistinguishable from the output of a singlethreaded stackshot (essentially,
115 we memcpy the contents of each kcdata chunk into a single buffer, stripping off
120 In debug and development builds, Stackshot takes a "trace" of itself during
121 execution. There are circular per-cpu buffers containing a list of tracepoints,
122 which consist of a timestamp, line number, and an arbitrary uintpr_t-sized piece
123 of extra data. This allows for basic tracing of stackshot's execution on each
156 - It might be more elegant to give stackshot its own IPI flavor instead of
160 - Chunk size is currently static for the entire stackshot - instead of