X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2FREADME;h=fc3cd6e256f34cc0cfbb954dd642ada9804af2e4;hb=cf77d12083b5092eca8c6f9899ec0892756845aa;hp=e972b5ccbf194bd6b940aaa803385631e0d98ca4;hpb=f62b389ebaba6abc93afb2cf9fbdf2fe0b632077;p=lttng-modules.git diff --git a/instrumentation/events/README b/instrumentation/events/README index e972b5cc..fc3cd6e2 100644 --- a/instrumentation/events/README +++ b/instrumentation/events/README @@ -1,11 +1,24 @@ -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) +Pull the new headers from mainline kernel to lttng-modules/. +Update those headers to fix the lttng-modules instrumentation style. -Pull the new headers from mainline kernel to mainline/. -Copy them into lttng-patch. -Apply diff (1). 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-modules/ directory, +c) look at a diff from other headers between mainline kernel version and + lttng-modules/, and use that as a recipe to alter the new + lttng-modules/ headers. +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.