Page MenuHomeFreeBSD

christos (Christos Margiolis)
User

Projects

User Details

User Since
Jul 2 2021, 4:03 PM (115 w, 6 d)

Recent Activity

Fri, Sep 15

christos committed rGbbe8195bfad6: kinst: do not look for a function epilogue (authored by christos).
kinst: do not look for a function epilogue
Fri, Sep 15, 3:35 PM
christos closed D41876: kinst: do not look for a function epilogue.
Fri, Sep 15, 3:34 PM
christos updated the diff for D41876: kinst: do not look for a function epilogue.

Fix typos.

Fri, Sep 15, 3:29 PM
christos requested review of D41876: kinst: do not look for a function epilogue.
Fri, Sep 15, 3:11 PM
christos updated the diff for D38825: libdtrace: implement inline function tracing for kinst.

Fix struct indentation.

Fri, Sep 15, 2:55 PM · DTrace

Sun, Aug 27

christos updated the diff for D38825: libdtrace: implement inline function tracing for kinst.

Fix return offset handling.

Sun, Aug 27, 3:28 PM · DTrace

Jul 19 2023

christos committed rG02402ec88896: kinst.h: make pointer to probe in kinst_cpu_state const (authored by christos).
kinst.h: make pointer to probe in kinst_cpu_state const
Jul 19 2023, 4:58 PM
christos added a reverting change for rG22508c8b6c28: dtrace: cache current probe in kdtrace_thread_t: rGe967a9a5d5da: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 19 2023, 3:01 PM
christos closed D41031: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 19 2023, 3:01 PM
christos added a reverting change for D40872: dtrace: cache current probe in kdtrace_thread_t: rGe967a9a5d5da: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 19 2023, 3:01 PM
christos committed rGe967a9a5d5da: Revert "dtrace: cache current probe in kdtrace_thread_t" (authored by christos).
Revert "dtrace: cache current probe in kdtrace_thread_t"
Jul 19 2023, 3:01 PM
christos committed rG07864a8a2466: kinst: port to arm64 (authored by christos).
kinst: port to arm64
Jul 19 2023, 3:01 PM
christos closed D40337: kinst: port to arm64.
Jul 19 2023, 3:01 PM · arm64, DTrace
christos committed rG2517b2085b58: kinst: use per-probe trampolines in riscv (authored by christos).
kinst: use per-probe trampolines in riscv
Jul 19 2023, 3:01 PM
christos closed D40963: kinst: use per-probe trampolines in riscv.
Jul 19 2023, 3:00 PM
christos committed rG5b701ed19c2e: kinst: start moving towards per-probe trampolines (authored by christos).
kinst: start moving towards per-probe trampolines
Jul 19 2023, 3:00 PM
christos committed rGeb1413c9a6c7: kinst: exclude cpu_switch (authored by christos).
kinst: exclude cpu_switch
Jul 19 2023, 3:00 PM
christos closed D40962: kinst: start moving towards per-probe trampolines.
Jul 19 2023, 3:00 PM
christos closed D40985: kinst: exclude cpu_switch.
Jul 19 2023, 3:00 PM
christos committed rGea89133dbc5f: kinst: check for 'push %rbp' anywhere in the function (authored by christos).
kinst: check for 'push %rbp' anywhere in the function
Jul 19 2023, 3:00 PM
christos committed rG8ada3f78e68f: kinst.h: reorder function declarations based on implementation file (authored by christos).
kinst.h: reorder function declarations based on implementation file
Jul 19 2023, 3:00 PM
christos closed D40283: kinst: check for 'push %rbp' anywhere in the function.
Jul 19 2023, 3:00 PM
christos closed D41032: kinst.h: reorder function declarations based on implementation file.
Jul 19 2023, 3:00 PM
christos added inline comments to D40337: kinst: port to arm64.
Jul 19 2023, 2:11 PM · arm64, DTrace

Jul 18 2023

christos updated the diff for D40874: kinst.4: update man page.

Forgot to update the second table as well.

Jul 18 2023, 8:18 PM
christos added inline comments to D40874: kinst.4: update man page.
Jul 18 2023, 2:24 PM
christos updated the diff for D40874: kinst.4: update man page.

Address yuripv's comment.

Jul 18 2023, 2:24 PM

Jul 16 2023

christos updated the diff for D40963: kinst: use per-probe trampolines in riscv.

Address comments.

Jul 16 2023, 4:44 PM
christos updated the diff for D40962: kinst: start moving towards per-probe trampolines.

Address comments.

Jul 16 2023, 4:39 PM
christos updated the diff for D40283: kinst: check for 'push %rbp' anywhere in the function.

Address Mark's comment.

Jul 16 2023, 4:33 PM
christos updated the diff for D40337: kinst: port to arm64.

Address comments, fix stuff that was also fixed in riscv.

Jul 16 2023, 4:28 PM · arm64, DTrace

Jul 15 2023

christos updated the summary of D41031: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 15 2023, 9:01 PM

Jul 13 2023

christos updated the diff for D39259: fbt: allow tracing of dtrace_test.ko functions.

Update

Jul 13 2023, 10:27 PM · DTrace
christos retitled D39259: fbt: allow tracing of dtrace_test.ko functions from fbt(4): allow tracing in dtrace_test.ko if it was loaded after fbt to fbt: allow tracing of dtrace_test.ko functions.
Jul 13 2023, 10:24 PM · DTrace
christos requested review of D41032: kinst.h: reorder function declarations based on implementation file.
Jul 13 2023, 10:15 PM
christos updated the summary of D40337: kinst: port to arm64.
Jul 13 2023, 10:11 PM · arm64, DTrace
christos updated the diff for D40337: kinst: port to arm64.

Address Mark's comments. Depends on D40962.

Jul 13 2023, 10:11 PM · arm64, DTrace
christos added a reverting change for rG22508c8b6c28: dtrace: cache current probe in kdtrace_thread_t: D41031: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 13 2023, 10:09 PM
christos requested review of D41031: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 13 2023, 10:08 PM
christos added a reverting change for D40872: dtrace: cache current probe in kdtrace_thread_t: D41031: Revert "dtrace: cache current probe in kdtrace_thread_t".
Jul 13 2023, 10:08 PM
christos updated the diff for D40874: kinst.4: update man page.

Explain why ADR and ADRP are disabled.

Jul 13 2023, 10:07 PM
christos updated the diff for D40963: kinst: use per-probe trampolines in riscv.

Improve state chaching. Depends on D40962.

Jul 13 2023, 10:01 PM
christos updated the summary of D40962: kinst: start moving towards per-probe trampolines.
Jul 13 2023, 9:59 PM
christos updated the diff for D40962: kinst: start moving towards per-probe trampolines.

Free trampoline when the probe is destroyed. Declare kinst_cpu_state to support
the double-breakpoint mechanism.

Jul 13 2023, 9:58 PM
christos added inline comments to D40963: kinst: use per-probe trampolines in riscv.
Jul 13 2023, 6:36 PM
christos added inline comments to D40963: kinst: use per-probe trampolines in riscv.
Jul 13 2023, 6:17 PM
christos added inline comments to D40337: kinst: port to arm64.
Jul 13 2023, 6:12 PM · arm64, DTrace
christos added inline comments to D40963: kinst: use per-probe trampolines in riscv.
Jul 13 2023, 6:10 PM
christos updated the diff for D40985: kinst: exclude cpu_switch.

Explain why

Jul 13 2023, 6:05 PM

Jul 12 2023

christos added a comment to D40985: kinst: exclude cpu_switch.

cpu_switch() was able to be traced in arm64 and riscv, and as is expected, resulted in crashes.

Jul 12 2023, 1:26 PM
christos requested review of D40985: kinst: exclude cpu_switch.
Jul 12 2023, 1:25 PM
christos updated the diff for D40874: kinst.4: update man page.

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

Jul 12 2023, 1:23 PM
christos updated the diff for D40337: kinst: port to arm64.

Disable adr/adrp emulation.

Jul 12 2023, 12:38 PM · arm64, DTrace

Jul 11 2023

christos updated the diff for D40874: kinst.4: update man page.

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

Jul 11 2023, 1:20 PM
christos updated the summary of D40874: kinst.4: update man page.
Jul 11 2023, 1:18 PM

Jul 10 2023

christos updated the diff for D40337: kinst: port to arm64.

Use per-probe trampolines. Depends on D40962

Jul 10 2023, 8:42 PM · arm64, DTrace
christos requested review of D40963: kinst: use per-probe trampolines in riscv.
Jul 10 2023, 8:37 PM
christos requested review of D40962: kinst: start moving towards per-probe trampolines.
Jul 10 2023, 8:34 PM

Jul 7 2023

christos updated the diff for D40874: kinst.4: update man page.

s/vm_page_mvqueue/critical_enter/

Jul 7 2023, 5:44 PM
christos updated the diff for D40337: kinst: port to arm64.

Updated description, still some unsolved bugs, but mostly done.

Jul 7 2023, 5:36 PM · arm64, DTrace

Jul 6 2023

christos accepted D40901: Complete move kinst of dtrace tests to common.

Had no idea this existed. Thanks!

Jul 6 2023, 10:51 PM

Jul 4 2023

christos added a comment to D39884: kinst: port to riscv.

Is it just a case of needing to smp_rendezvous a fence_i since it's not broadcast by the hardware like on arm64?

Jul 4 2023, 4:55 PM · riscv, DTrace
christos added a comment to D39884: kinst: port to riscv.

This provider can trigger what appears to be a QEMU/TCG bug. The test case:

  • boot a riscv VM with more than one vCPU
  • run dtrace -q -n 'kinst::riscv_cpu_intr:', i.e., trace all instructions in riscv_cpu_intr()

Seems I was a bit slow to report my findings, but I did observe some of the same kinds of panics on real hardware that I saw in QEMU. I will update to the committed version and provide a more detailed answer of what is still not working.

Jul 4 2023, 4:11 PM · riscv, DTrace
christos updated the diff for D38825: libdtrace: implement inline function tracing for kinst.

Updates.

Jul 4 2023, 4:03 PM · DTrace
christos committed rG911f0260390e: dtrace: move kinst tests to common (authored by christos).
dtrace: move kinst tests to common
Jul 4 2023, 3:48 PM
christos closed D40414: dtrace: move kinst tests to common.
Jul 4 2023, 3:47 PM
christos abandoned D40783: dtraceall: remove kinst.
Jul 4 2023, 3:40 PM
christos committed rG1c776124513c: riscv: improve register dumping (authored by christos).
riscv: improve register dumping
Jul 4 2023, 3:40 PM
christos closed D40829: riscv: improve register dumping.
Jul 4 2023, 3:40 PM
christos committed rG9310bf540494: kinst: update LICENSE headers (authored by christos).
kinst: update LICENSE headers
Jul 4 2023, 3:40 PM
christos closed D40875: kinst: update LICENSE headers.
Jul 4 2023, 3:40 PM
christos committed rG2d7bb03adb43: kinst: port to riscv (authored by christos).
kinst: port to riscv
Jul 4 2023, 3:40 PM
christos closed D39884: kinst: port to riscv.
Jul 4 2023, 3:39 PM · riscv, DTrace
christos committed rG22508c8b6c28: dtrace: cache current probe in kdtrace_thread_t (authored by christos).
dtrace: cache current probe in kdtrace_thread_t
Jul 4 2023, 3:39 PM
christos closed D40872: dtrace: cache current probe in kdtrace_thread_t.
Jul 4 2023, 3:39 PM
christos committed rG2e28f8cc3929: kinst: accommodate other architectures in Makefile (authored by christos).
kinst: accommodate other architectures in Makefile
Jul 4 2023, 3:39 PM
christos closed D40871: kinst: accommodate other architectures in Makefile.
Jul 4 2023, 3:39 PM
christos added inline comments to D40846: arm64: Fix a use of update_lower_register.
Jul 4 2023, 3:28 PM
christos added inline comments to D40858: Screenshot with vt(4).
Jul 4 2023, 3:20 PM
christos updated the diff for D39884: kinst: port to riscv.

Retain CDDL license.

Jul 4 2023, 2:47 PM · riscv, DTrace
christos updated the diff for D40875: kinst: update LICENSE headers.

Retain original CDDL license.

Jul 4 2023, 2:39 PM
christos added a comment to D40875: kinst: update LICENSE headers.

At least kinst.* was derived from an existing CDDL-licensed provider, so I think it's not so clear-cut. I would keep that file CDDL-licensed. kinst_isa.* and trampoline.* could be relicensed, but I'll leave it up to you.

Jul 4 2023, 2:38 PM
christos updated the diff for D40874: kinst.4: update man page.

Forgot to link arch(7).

Jul 4 2023, 2:33 PM
christos updated the diff for D40874: kinst.4: update man page.

Address Mark's comments.

Jul 4 2023, 2:31 PM
christos added a comment to D40875: kinst: update LICENSE headers.

You are changing the license from CDDL (i.e., derived from illumos dtrace code) to BSD. I believe the correct change would be to retain the existing license and simply add the foundation's copyright.

Jul 4 2023, 2:21 PM
christos updated the diff for D39884: kinst: port to riscv.

Restore original trampoline size.

Jul 4 2023, 1:58 PM · riscv, DTrace
christos updated the diff for D40874: kinst.4: update man page.

Improve BUGS section.

Jul 4 2023, 1:56 PM
christos abandoned D40873: kinst: skip trampoline searching for riscv and arm64.
Jul 4 2023, 1:54 PM
christos updated the summary of D40873: kinst: skip trampoline searching for riscv and arm64.
Jul 4 2023, 10:48 AM
christos updated the diff for D40873: kinst: skip trampoline searching for riscv and arm64.

Add arm64 here as well

Jul 4 2023, 10:48 AM
christos retitled D40873: kinst: skip trampoline searching for riscv and arm64 from kinst: skip trampoline searching for riscv to kinst: skip trampoline searching for riscv and arm64.
Jul 4 2023, 10:47 AM
christos requested review of D40875: kinst: update LICENSE headers.
Jul 4 2023, 10:22 AM
christos updated the diff for D40874: kinst.4: update man page.

Improve description.

Jul 4 2023, 10:11 AM
christos requested review of D40874: kinst.4: update man page.
Jul 4 2023, 9:52 AM
christos updated the diff for D40337: kinst: port to arm64.

WIP.

Jul 4 2023, 9:43 AM · arm64, DTrace
christos updated the diff for D39884: kinst: port to riscv.

Address comments, update LICENSE headers, split some changes to other PRs.

Jul 4 2023, 9:39 AM · riscv, DTrace
christos requested review of D40873: kinst: skip trampoline searching for riscv and arm64.
Jul 4 2023, 9:35 AM
christos requested review of D40872: dtrace: cache current probe in kdtrace_thread_t.
Jul 4 2023, 9:28 AM
christos requested review of D40871: kinst: accommodate other architectures in Makefile.
Jul 4 2023, 9:28 AM

Jul 3 2023

christos updated the diff for D40829: riscv: improve register dumping.

Address Mitchell's comment.

Jul 3 2023, 5:00 PM