[DTrace-devel] [PATCH 0/2] Add print() action support
Alan Maguire
alan.maguire at oracle.com
Fri Nov 17 11:48:02 UTC 2023
The print() action supports CTF-powered dumping of data pointed
to by the argument passed in [1]. This is a useful feature for
kernel debugging.
Changes since RFC [2]:
- Removed unneeded dtrace: from subject, removed passing test resuts,
added doc link to [1] in patch 1 (Eugene, patches 1, 2)
- Fixed output to use the address passed in; this provides a more
informative view saying "address 0xfeedfacefeedface is a pointer to
struct sk_buff, here's the data". This also resolves the issue that
we were saving the address but not using it. See patch 1 for output
format (Eugene, patch 1).
- Revamped the register handling in dt_cg.c to be safer as per Eugene's
suggestions (Eugene, patch 1)
- Fixed order of data/size and removed local vars that were unneeded
(Eugene, patch 1)
- Fixed tests to use .d, .r for DTrace script and expected results
instead of stuffing it all in a .sh script (Eugene, patch 2).
[1] https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/dtrace-guide/print-action.html#GUID-533E6BD9-8DE8-474E-9770-96F84244911C
[2] https://oss.oracle.com/pipermail/dtrace-devel/2023-November/004013.html
Alan Maguire (1):
Add support for the print() action
Eugene Loh (1):
test: Add print() tests
include/dtrace/actions_defines.h | 1 +
include/dtrace/options_defines.h | 3 +-
libdtrace/dt_cg.c | 58 ++++
libdtrace/dt_consume.c | 316 +++++++++++++++++++
libdtrace/dt_errtags.h | 4 +-
libdtrace/dt_impl.h | 6 +-
libdtrace/dt_open.c | 2 +
libdtrace/dt_options.c | 25 ++
test/unittest/print/tst.print.local.d | 45 +++
test/unittest/print/tst.print.local.r | 21 ++
test/unittest/print/tst.print.local.trunc.d | 46 +++
test/unittest/print/tst.print.local.trunc.r | 12 +
test/unittest/print/tst.print.local.zeroed.d | 46 +++
test/unittest/print/tst.print.local.zeroed.r | 8 +
test/unittest/print/tst.print.skb.d | 19 ++
test/unittest/print/tst.print.skb.r | 14 +
16 files changed, 622 insertions(+), 4 deletions(-)
create mode 100644 test/unittest/print/tst.print.local.d
create mode 100644 test/unittest/print/tst.print.local.r
create mode 100644 test/unittest/print/tst.print.local.trunc.d
create mode 100644 test/unittest/print/tst.print.local.trunc.r
create mode 100644 test/unittest/print/tst.print.local.zeroed.d
create mode 100644 test/unittest/print/tst.print.local.zeroed.r
create mode 100644 test/unittest/print/tst.print.skb.d
create mode 100644 test/unittest/print/tst.print.skb.r
--
2.39.3
More information about the DTrace-devel
mailing list