mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
5159938e10
- uprobes: make trace_uprobe->nhit counter a per-CPU one This makes uprobe event's hit counter per-CPU for improving scalability on multi-core environment. - kprobes: Remove obsoleted declaration for init_test_probes Remove unused init_test_probes() from header. - Raw tracepoint probe supports raw tracepoint events on modules. The tracepoint events using fprobe were introduced in v6.5, but tracepoints can be compiled in modules. This supports such a case. This includes the following improvements. . tracepoint: add a function for iterating over all tracepoints in all modules. . tracepoint: Add a function for iterating over tracepoints in a module. . tracing/fprobe: Support raw tracepoint events on modules. . tracing/fprobe: Support raw tracepoints on future loaded modules. This allows user to add tracepoint events on modules which is not loaded yet. . selftests/tracing: Add a test for tracepoint events on modules. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEh7BulGwFlgAOi5DV2/sHvwUrPxsFAmb0HXgACgkQ2/sHvwUr Pxs7AAf+K89Q7eyqKLP/oG5LGsnmWwhZHP26HTbGKh7mRaxGE+cf3l1O2lCMAgBt 0Y1J0sHkgRSnubmlPrgEMKKLOKVBwnvwBqbqO8Zw8L3GxMegG5YYsl3Y60Q0T6Gq xiL17sHILbb/yefUqnf6C3QHoSjR4aTMEaQSpux1tsCqG/sLeU7V6DZrWdM5t4Fl CvQDuy//UdQUKFTUC5XOc6lRbKr94ktp/VTxdHZLXa5u6p/slq8ISf9EA+Rrsjkp m+FtW8MpfcYt3K+hs0kV58F43XWeRt9F7OlLf+MlyCeRRQor4xvkVlV0iw6VcRG9 sXt6ml6AmyA2JWRzR5qSKYvMAsNVyA== =GYlS -----END PGP SIGNATURE----- Merge tag 'probes-v6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace Pull probes updates from Masami Hiramatsu: - uprobes: make trace_uprobe->nhit counter a per-CPU one This makes uprobe event's hit counter per-CPU for improving scalability on multi-core environment - kprobes: Remove obsoleted declaration for init_test_probes Remove unused init_test_probes() from header - Raw tracepoint probe supports raw tracepoint events on modules: - add a function for iterating over all tracepoints in all modules - add a function for iterating over tracepoints in a module - support raw tracepoint events on modules - support raw tracepoints on future loaded modules - add a test for tracepoint events on modules" * tag 'probes-v6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: sefltests/tracing: Add a test for tracepoint events on modules tracing/fprobe: Support raw tracepoints on future loaded modules tracing/fprobe: Support raw tracepoint events on modules tracepoint: Support iterating tracepoints in a loading module tracepoint: Support iterating over tracepoints on modules kprobes: Remove obsoleted declaration for init_test_probes uprobes: turn trace_uprobe's nhit counter to be per-CPU one |
||
---|---|---|
.. | ||
samples | ||
test.d | ||
.gitignore | ||
config | ||
ftracetest | ||
ftracetest-ktap | ||
Makefile | ||
README | ||
settings |
Linux Ftrace Testcases This is a collection of testcases for ftrace tracing feature in the Linux kernel. Since ftrace exports interfaces via the debugfs, we just need shell scripts for testing. Feel free to add new test cases. Running the ftrace testcases ============================ At first, you need to be the root user to run this script. To run all testcases: $ sudo ./ftracetest To run specific testcases: # ./ftracetest test.d/basic3.tc Or you can also run testcases under given directory: # ./ftracetest test.d/kprobe/ Contributing new testcases ========================== Copy test.d/template to your testcase (whose filename must have *.tc extension) and rewrite the test description line. * The working directory of the script is <debugfs>/tracing/. * Take care with side effects as the tests are run with root privilege. * The tests should not run for a long period of time (more than 1 min.) These are to be unit tests. * You can add a directory for your testcases under test.d/ if needed. * The test cases should run on dash (busybox shell) for testing on minimal cross-build environments. * Note that the tests are run with "set -e" (errexit) option. If any command fails, the test will be terminated immediately. * The tests can return some result codes instead of pass or fail by using exit_unresolved, exit_untested, exit_unsupported and exit_xfail. Result code =========== Ftracetest supports following result codes. * PASS: The test succeeded as expected. The test which exits with 0 is counted as passed test. * FAIL: The test failed, but was expected to succeed. The test which exits with !0 is counted as failed test. * UNRESOLVED: The test produced unclear or intermidiate results. for example, the test was interrupted or the test depends on a previous test, which failed. or the test was set up incorrectly The test which is in above situation, must call exit_unresolved. * UNTESTED: The test was not run, currently just a placeholder. In this case, the test must call exit_untested. * UNSUPPORTED: The test failed because of lack of feature. In this case, the test must call exit_unsupported. * XFAIL: The test failed, and was expected to fail. To return XFAIL, call exit_xfail from the test. There are some sample test scripts for result code under samples/. You can also run samples as below: # ./ftracetest samples/ TODO ==== * Fancy colored output :)