Lines Matching defs:syscall
132 struct syscall *table;
1212 * args_size: sum of the sizes of the syscall arguments, anything after that is augmented stuff: pathname for openat, etc.
1213 * nonexistent: Just a hole in the syscall table, syscall id not allocated
1215 struct syscall {
1234 * don't know what is the duration of a syscall, for instance, when we start
1235 * a session and some threads are waiting for a syscall to finish, say 'poll',
1259 * ret_scnprintf: syscall args may set this to a different syscall return
1687 static int syscall__alloc_arg_fmts(struct syscall *sc, int nr_args)
1784 static int syscall__set_arg_fmts(struct syscall *sc)
1797 struct syscall *sc;
1808 // When using libaudit we don't know beforehand what is the max syscall id
1809 struct syscall *table = realloc(trace->syscalls.table, (id + 1) * sizeof(*sc));
1860 * or 'nr' that mean the syscall number. It is needless here.
2000 static size_t syscall__scnprintf_name(struct syscall *sc, char *bf, size_t size,
2034 static size_t syscall__scnprintf_args(struct syscall *sc, char *bf, size_t size,
2073 * Some syscall args need some mask, most don't and
2127 static struct syscall *trace__syscall_info(struct trace *trace,
2146 fprintf(trace->output, "Invalid syscall %d id, skipping (%s, %" PRIu64 ") ...\n",
2181 fprintf(trace->output, "Problems reading syscall %d: %d (%s)", id, -err, str_error_r(-err, sbuf, sizeof(sbuf)));
2294 static void *syscall__augmented_args(struct syscall *sc, struct perf_sample *sample, int *augmented_args_size, int raw_augmented_args_size)
2299 * and there we get all 6 syscall args plus the tracepoint common fields
2307 * copies only what we need for each syscall, like what happens when we
2309 * traffic to just what is needed for each syscall.
2320 static void syscall__exit(struct syscall *sc)
2339 struct syscall *sc = trace__syscall_info(trace, evsel, id);
2364 * arguments, even if the syscall being handled, say "openat", uses only 4 arguments
2366 * syscall->args_size using each syscalls:sys_enter_NAME tracefs format file,
2367 * so when handling, say the openat syscall, we end up getting 6 args for the
2413 struct syscall *sc = trace__syscall_info(trace, evsel, id);
2488 struct syscall *sc = trace__syscall_info(trace, evsel, id);
2780 * Some syscall args need some mask, most don't and
2848 struct syscall *sc = trace__syscall_info(trace, evsel, id);
2858 * XXX: Not having the associated syscall info or not finding/adding
3235 * leading to the syscall, allow overriding that for
3299 static struct bpf_program *trace__find_syscall_bpf_prog(struct trace *trace, struct syscall *sc,
3334 struct syscall *sc = trace__syscall_info(trace, NULL, id);
3345 struct syscall *sc = trace__syscall_info(trace, NULL, id);
3351 struct syscall *sc = trace__syscall_info(trace, NULL, id);
3355 static struct bpf_program *trace__find_usable_bpf_prog_entry(struct trace *trace, struct syscall *sc)
3372 struct syscall *pair = trace__syscall_info(trace, NULL, id);
3421 * Check if the tentative pair syscall augmenter has more pointers, if it has,
3436 * program for a filtered syscall on a non-filtered one.
3484 * syscall with an augmenter so that we can auto-reuse it.
3486 * I.e. if we have an augmenter for the "open" syscall that has
3492 * can reuse it for the 'creat' syscall, that has this signature:
3510 struct syscall *sc = trace__syscall_info(trace, NULL, key);
3875 * the syscall ones go to the 'A' cgroup, the sched:sched_switch goes
3948 * If the "close" syscall is not traced, then we will not have the
4220 int syscall;
4226 entry->syscall = source->i;
4235 struct syscall *sc;
4244 printed += fprintf(fp, " syscall calls errors total min avg max stddev\n");
4260 sc = &trace->syscalls.table[syscall_stats_entry->syscall];
4709 "event/syscall selector. use 'perf list' to list available events",
4746 "Show only syscall summary with statistics"),
4750 "Show errno stats per syscall, use with -s or -S"),
4760 OPT_BOOLEAN(0, "kernel-syscall-graph", &trace.kernel_syscallchains,
4761 "Show the kernel callchains on the syscall exit path"),
4831 * tracepoint events, not in the strace-like syscall-name-based mode.
4955 * syscall.
4999 * 6 syscall args plus the tracepoint common
5010 * syscall, like what happens when we use
5013 * needed for each syscall.