Page MenuHomeFreeBSD

kinst.4: update man page
Needs ReviewPublic

Authored by christos on Jul 4 2023, 9:52 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 4, 4:04 AM
Unknown Object (File)
Mon, Oct 28, 12:12 PM
Unknown Object (File)
Mon, Oct 28, 12:11 PM
Unknown Object (File)
Mon, Oct 28, 12:11 PM
Unknown Object (File)
Mon, Oct 28, 12:10 PM
Unknown Object (File)
Mon, Oct 28, 12:10 PM
Unknown Object (File)
Mon, Oct 28, 12:10 PM
Unknown Object (File)
Mon, Oct 28, 12:09 PM
Subscribers

Details

Reviewers
markj
gnn
Summary
  • Mention inline function tracing.
  • Mention new architecture (RISC-V, ARM64) support.
  • Update LICENSE headers.
  • Improve wording.
  • Add more examples.
  • Add markj@ as co-author of the provider.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 52690
Build 49581: arc lint + arc unit

Event Timeline

share/man/man4/dtrace_kinst.4
2–5

Sorry for not catching this during the original review. We avoid adding "All rights reserved" to new copyright notices - would you be willing to remove this one, since you're the only copyright holder?

53

There are many tools that can disassemble machine code, so I'd even not mention gdb specifically. It's enough to say that <instruction> is the offset of the instruction relative to the beginning of the function.

57
72

It's best to use the lower case names, since those are the names used internally by FreeBSD (reported by uname and so on). You could add a link to arch(7) in the SEE ALSO section.

186
192
christos marked 6 inline comments as done.

Address Mark's comments.

s/vm_page_mvqueue/critical_enter/

Remove BUGS section since per-probe trampolines seem to have fixed it.

Mention unsafe-to-trace functions and instructions, as well as ADR/ADRP bug in
arm64.

share/man/man4/dtrace_kinst.4
192

We can be more precise now: the problem is a micro-optimization in the arm64 exception handler which breaks emulation of adr/adrp.

christos marked an inline comment as done.

Explain why ADR and ADRP are disabled.

yuripv added inline comments.
share/man/man4/dtrace_kinst.4
75

The way this is done defeats the -column usage. How about the following instead (same for other table below)?

.Bl -column "cpu_exception_handler_supervisor"
.It Sy Function Ta Sy Architecture
.It cpu_switch Ta all
.It db_* Ta all
.It dtrace_* Ta all
.It kdb_* Ta all
.It kinst_* Ta all
.It owner_mtx Ta all
.It owner_rm Ta all
.It owner_rw Ta all
.It owner_sx Ta all
.It trap_check Ta all
.It do_el0_sync Ta arm64
.It do_el1h_sync Ta arm64
.It handle_el0_sync Ta arm64
.It handle_el1h_sync Ta arm64
.It cpu_exception_handler Ta riscv
.It cpu_exception_handler_supervisor Ta riscv
.It cpu_exception_handler_user Ta riscv
.It do_trap_supervisor Ta riscv
.It do_trap_user Ta riscv
.El
christos marked an inline comment as done.

Address yuripv's comment.

share/man/man4/dtrace_kinst.4
75

Thank you. This looks much cleaner.

Forgot to update the second table as well.

Final version.