History log of /openbsd-src/sys/dev/dt/dt_prov_syscall.c (Results 1 – 9 of 9)
Revision Date Author Comments
# c2c0b0cf 06-Apr-2024 mpi <mpi@openbsd.org>

Remove (unused) in-kernel event filtering, it's currently dead code.

All events are currently exported to userland in order to support complex
filters. If this becomes a bottleneck it should be pos

Remove (unused) in-kernel event filtering, it's currently dead code.

All events are currently exported to userland in order to support complex
filters. If this becomes a bottleneck it should be possible to translate
(some) user-land filters to in-kernel fitlers.

Prodded by a diff from Christian Ludwig to also trace the tracing program.

ok claudio@

show more ...


# 68cc3983 13-Apr-2023 jsg <jsg@openbsd.org>

remove duplicate includes
ok deraadt@ miod@ krw@


# f231ff59 09-Dec-2021 guenther <guenther@openbsd.org>

We only have one syscall table: inline sysent/SYS_MAXSYSCALL and
SYS_syscall as the nosys() function into the MD syscall entry
routines and the SYSCALL_DEBUG support. Adjust alpha's syscall
check to

We only have one syscall table: inline sysent/SYS_MAXSYSCALL and
SYS_syscall as the nosys() function into the MD syscall entry
routines and the SYSCALL_DEBUG support. Adjust alpha's syscall
check to match the other archs. Also, make sysent const to get it
into .rodata.

With that, 'struct emul' is unused: delete it and all its references

ok millert@

show more ...


# 840df46f 03-Sep-2021 jasper <jasper@openbsd.org>

add kprobes provider for dt

this allows us to dynamically trace function boundaries with btrace by patching
prologues and epilogues with a breakpoint upon which the handler records the data,
sends i

add kprobes provider for dt

this allows us to dynamically trace function boundaries with btrace by patching
prologues and epilogues with a breakpoint upon which the handler records the data,
sends it back to userland for btrace to consume.
currently it's hidden behind DDBPROF, and there is still a lot to cleanup and
improve, but basic scripts that observe return codes from a probed function
work.

from Tom Rollet, with various changes by me
feedback and ok mpi@

show more ...


# 63d5bccf 02-Sep-2021 jasper <jasper@openbsd.org>

rename struct dt_evt fields to make it clear this isn't only used for tracing syscalls
and adjust btrace(8) accordingly.
extracted from a larger diff by Tom Rollet.

ok mpi@


# 04f80c81 04-Jul-2020 mpi <mpi@openbsd.org>

Do the same as libc, store "-1" in the return value when a syscall failed.

Simplify the logic by always exporting the return value and errno in the
syscall profiler.


# 23829576 28-Mar-2020 mpi <mpi@openbsd.org>

Export the number of arguments exposed by a probe to userland.

Also make the syscall provider exports the number of syscall
arguments. This will allow for stricter checks when parsing
`argN' and fu

Export the number of arguments exposed by a probe to userland.

Also make the syscall provider exports the number of syscall
arguments. This will allow for stricter checks when parsing
`argN' and future `args->name'.

This is an ABI change, don't forget to keep btrace(8) and your
kernel in sync.

show more ...


# ecfa01e0 25-Mar-2020 mpi <mpi@openbsd.org>

Introduce stacktrace_save_at() and make use of it in dt(4).

This variant of stacktrace_save() takes an aditionnal argument to skip
an arbitrary number of frame. This allows to skip recording frames

Introduce stacktrace_save_at() and make use of it in dt(4).

This variant of stacktrace_save() takes an aditionnal argument to skip
an arbitrary number of frame. This allows to skip recording frames used
to execute the profiling code and produces outputs easier to understand.

Inputs from and ok visa@

show more ...


# 91b2ecf6 21-Jan-2020 mpi <mpi@openbsd.org>

Import dt(4) a driver and framework for Dynamic Profiling.

The design is fairly simple: events, in the form of descriptors on a
ring, are being produced in any kernel context and being consumed by
a

Import dt(4) a driver and framework for Dynamic Profiling.

The design is fairly simple: events, in the form of descriptors on a
ring, are being produced in any kernel context and being consumed by
a userland process reading /dev/dt.

Code and hooks are all guarded under '#if NDT > 0' so this commit
shouldn't introduce any change as long as dt(4) is disable in GENERIC.

ok kettenis@, visa@, jasper@, deraadt@

show more ...