X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2FREADME;h=84c3e89385b2f993b186db1fcff59b41705670b6;hb=0d553b6feebb714dbcaf5c5e1de012097e5981cd;hp=e972b5ccbf194bd6b940aaa803385631e0d98ca4;hpb=f62b389ebaba6abc93afb2cf9fbdf2fe0b632077;p=lttng-modules.git diff --git a/instrumentation/events/README b/instrumentation/events/README index e972b5cc..84c3e893 100644 --- a/instrumentation/events/README +++ b/instrumentation/events/README @@ -1,11 +1,27 @@ -The workflow for updating patches from newer kernel: +* Workflow for updating patches from newer kernel: -Diff mainline/ and lttng-patch/ directories. (diff 1) -Diff lttng-patch/ and lttng-module/ directories. (diff 2) +Diff mainline/ and lttng-module/ directories. Pull the new headers from mainline kernel to mainline/. -Copy them into lttng-patch. -Apply diff (1). Fix conflicts. +Copy them into lttng-modules. +Apply diff. Fix conflicts. -Copy the resulting files into lttng-module/. -Apply diff (2). Fix conflicts. + +* Workflow to add new Tracepoint instrumentation to newer kernel, + and add support for it into LTTng: + +a) instrument the kernel with new trace events headers. If you want that + instrumentation distributed, you will have to push those changes into + the upstream Linux kernel first, +b) copy those headers into lttng mainline/ directory, +c) look at a diff from other headers between mainline/ and + lttng/, and use that as a recipe to create a new lttng/ + header from the mainline/ header, +d) create a new file in probes/ for the new trace event header you added, +e) add it to probes/Makefile, +f) build, make modules_install, +g) don't forget to load that new module too. + +Currently, LTTng policy is to only accept headers derived from trace +event headers accepted into the Linux kernel upstream for tracepoints +related to upstream kernel instrumentation.