stack_trace
struct stack_trace *trace = arg;
struct stack_trace *trace = arg;
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
void save_stack_trace(struct stack_trace *trace)
struct stack_trace *trace = arg;
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
void save_stack_trace(struct stack_trace *trace)
void save_stack_trace(struct stack_trace *trace)
struct stack_trace;
void microblaze_unwind(struct task_struct *task, struct stack_trace *trace,
void save_stack_trace(struct stack_trace *trace)
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
struct stack_trace *trace,
unsigned long fp, struct stack_trace *trace,
struct stack_trace *trace,
void microblaze_unwind(struct task_struct *task, struct stack_trace *trace,
struct stack_trace;
static void save_raw_context_stack(struct stack_trace *trace,
static void save_context_stack(struct stack_trace *trace,
void save_stack_trace(struct stack_trace *trace)
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
struct stack_trace *trace = data;
void save_stack_trace(struct stack_trace *trace)
struct stack_trace *trace = (struct stack_trace *)data;
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace)
unsigned long stack_trace[64];
void **ptrs = (void **) pe->stack_trace;
pe->trace_entries = stack_trace_save(pe->stack_trace,
ARRAY_SIZE(pe->stack_trace), 0);
struct stack_trace *trace = data;
void save_stack_trace(struct stack_trace *trace)
struct stack_trace *trace = (struct stack_trace *)data;
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
struct stack_trace *trace,
void save_stack_trace(struct stack_trace *trace)
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
struct stack_trace *trace = data;
static void __save_stack_trace(struct task_struct *tsk, struct stack_trace *trace)
void save_stack_trace(struct stack_trace *trace)
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
struct stack_trace *trace;
struct stack_trace *trace = trace_data->trace;
void save_stack_trace_tsk(struct task_struct *task, struct stack_trace *trace)
void save_stack_trace(struct stack_trace *trace)
extern void save_stack_trace(struct stack_trace *trace);
struct stack_trace *trace);
struct stack_trace *trace);
struct stack_trace *trace);
extern void save_stack_trace_user(struct stack_trace *trace);
static unsigned long stack_trace[MAX_STACK_TRACE_ENTRIES];
trace = (struct lock_trace *)(stack_trace + nr_stack_trace_entries);
(sizeof(stack_trace) + sizeof(stack_trace_hash)) / 1024
save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace)
struct stack_trace trace = {
struct stack_trace trace = {
struct stack_trace trace = {
struct stack_trace trace = {
struct stack_trace trace = {
u64 *stack_trace, u32 flags)
while (machine__is_lock_function(machine, stack_trace[idx]) &&
addr = stack_trace[idx];
u64 *stack_trace = NULL;
size_t stack_size = con->max_stack * sizeof(*stack_trace);
stack_trace = zalloc(stack_size);
if (stack_trace == NULL)
if (bpf_map_get_next_key(stacks_fd, NULL, stack_trace))
bpf_map_lookup_elem(stacks_fd, stack_trace, &stack_id);
st->name = strdup(stack_trace[0] ? lock_contention_get_name(con, NULL, stack_trace, 0) :
st->callstack = stack_trace;
bpf_map_delete_elem(stacks_fd, stack_trace);
free(stack_trace);
u64 *stack_trace;
size_t stack_size = con->max_stack * sizeof(*stack_trace);
stack_trace = zalloc(stack_size);
if (stack_trace == NULL)
bpf_map_lookup_elem(stack, &key.stack_id, stack_trace);
if (!match_callstack_filter(machine, stack_trace, con->max_stack)) {
name = lock_contention_get_name(con, &key, stack_trace, data.flags);
st->callstack = memdup(stack_trace, stack_size);
free(stack_trace);
struct bpf_stack_map *stack_trace =
VERIFY(check(&stack_trace->map, map, sizeof(__u32), sizeof(__u64),