#
1.5 |
|
03-Sep-2021 |
jasper |
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@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
|
#
1.4 |
|
11-Aug-2017 |
nayden |
Kernel compilation with DDBPROF enabled fails as db_sym_t is no longer defined (removed in "Kill db_sym_t." from 2017-05-30 11:39 mpi). This change fixes the problem.
OK mpi@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.3 |
|
08-Feb-2017 |
guenther |
Use ELF_ST_{BIND,TYPE} instead of ELFDEFNNAME(ST_{BIND,TYPE})
ok jca@
|
#
1.2 |
|
06-Feb-2017 |
mpi |
Implement Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework, for i386.
Code patching is used to enable probes when entering functions. The probes will call a mcount()-like function to match the behavior of a GPROF kernel.
A new sysctl knob, ddb.profile, need to be set to 1 in securelevel 0 to be able to use this feature.
ok jasper@, guenther@, mlarkin@
|
#
1.1 |
|
04-Sep-2016 |
mpi |
Introduce Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework.
Code patching is used to enable probes when entering functions. The probes will call a mcount()-like function to match the behavior of a GPROF kernel.
Currently only available on amd64 and guarded under DDBPROF. Support for other archs will follow soon.
A new sysctl knob, ddb.console, need to be set to 1 in securelevel 0 to be able to use this feature.
Inputs and ok guenther@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
11-Aug-2017 |
nayden |
Kernel compilation with DDBPROF enabled fails as db_sym_t is no longer defined (removed in "Kill db_sym_t." from 2017-05-30 11:39 mpi). This change fixes the problem.
OK mpi@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.3 |
|
08-Feb-2017 |
guenther |
Use ELF_ST_{BIND,TYPE} instead of ELFDEFNNAME(ST_{BIND,TYPE})
ok jca@
|
#
1.2 |
|
06-Feb-2017 |
mpi |
Implement Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework, for i386.
Code patching is used to enable probes when entering functions. The probes will call a mcount()-like function to match the behavior of a GPROF kernel.
A new sysctl knob, ddb.profile, need to be set to 1 in securelevel 0 to be able to use this feature.
ok jasper@, guenther@, mlarkin@
|
#
1.1 |
|
04-Sep-2016 |
mpi |
Introduce Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework.
Code patching is used to enable probes when entering functions. The probes will call a mcount()-like function to match the behavior of a GPROF kernel.
Currently only available on amd64 and guarded under DDBPROF. Support for other archs will follow soon.
A new sysctl knob, ddb.console, need to be set to 1 in securelevel 0 to be able to use this feature.
Inputs and ok guenther@
|