Add syscall listing support
authorDavid Goulet <dgoulet@efficios.com>
Mon, 22 Sep 2014 18:58:30 +0000 (14:58 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Mon, 29 Sep 2014 18:40:17 +0000 (14:40 -0400)
commit834978fd9e2392f20867351ca99bf7bdf31b4f56
tree51c5952572e849ac6a774e1fc5ab86fa4ba9c9e7
parent5a510c9fc5ac8b5292a497192bd47aeec07112e3
Add syscall listing support

This adds two things. First, a global syscall table populated at boot
time that is used to match which syscall is enabled or not using the
lttng kernel get mask call.

The second thing is the ability to list which syscall is enable or not
in a specific session. Keep in mind that for syscalls, NO state is kept
on the session daemon so we have to ask the kernel tracer which syscall
is enabled for a specific channel.

This introduce some changes to the API/ABI. First, an event flag is
added to the lttng_event data structure using 4 bytes of padding for an
enum value that can be ORed together in that field. This is used for now
to know which bitness the event is in case of a syscall event type.

Second, lttng_list_syscalls(...) is added to provide the ability to list
all available syscalls that the user can trace. To use that with the
lttng command line, "--syscall" is added to lttng list.

    $ lttng list -k --syscall

The above only lists available syscalls from the kernel tracer.

Signed-off-by: David Goulet <dgoulet@efficios.com>
14 files changed:
include/lttng/event.h
src/bin/lttng-sessiond/Makefile.am
src/bin/lttng-sessiond/cmd.c
src/bin/lttng-sessiond/cmd.h
src/bin/lttng-sessiond/kernel.c
src/bin/lttng-sessiond/kernel.h
src/bin/lttng-sessiond/main.c
src/bin/lttng-sessiond/syscall.c [new file with mode: 0644]
src/bin/lttng-sessiond/syscall.h [new file with mode: 0644]
src/bin/lttng/commands/list.c
src/common/bitfield.h [new file with mode: 0644]
src/common/kernel-ctl/kernel-ctl.c
src/common/sessiond-comm/sessiond-comm.h
src/lib/lttng-ctl/lttng-ctl.c
This page took 0.036022 seconds and 4 git commands to generate.