Wade Farnsworth [Thu, 20 Sep 2012 13:52:22 +0000 (09:52 -0400)]
Fix ring_buffer_frontend.c: missing include lttng-tracer-core.h
In lib/ringbuffer/ring_buffer_frontend.c, RING_BUFFER_ALIGN is undefined,
leading to no alignment offset being recorded after the call to
config->cb.record_header_size() in lib_ring_buffer_try_reserve_slow().
However, lttng-ring-buffer-client.h does define RING_BUFFER_ALIGN, so
the alignment offset will be produced when the packet header is written
in lttng_write_event_header().
This discrepancy may be observed on architectures that don't set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS, such as ARM, with a babeltrace
error such as:
babeltrace: ../../include/babeltrace/ctf/types.h:206: ctf_pos_get_event:
Assertion `pos->offset <= pos->content_size' failed.
Aborted
indicating that the actual content size differs from the calculated one
due to the difference in alignment. Including the appropriate header
file in ring_buffer_frontend.c solves the problem.
Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 11 Sep 2012 16:09:53 +0000 (12:09 -0400)]
Fix: statedump missing check for NULL namespace
Cause kernel OOPS. statedump PID namespace support is newly introduced
in lttng-modules 2.1. Happens when iterating on a zombie process.
Reported-by: David Goulet <dgoulet@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 10 Sep 2012 21:19:48 +0000 (17:19 -0400)]
Update version to 2.1.0-rc1
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 6 Sep 2012 14:26:38 +0000 (10:26 -0400)]
fix timestamps on architectures without CONFIG_KTIME_SCALAR
trace_clock_monotonic_wrapper() should return a u64 representing the
number of nanoseconds since system startup.
ktime_get() provides that value directly within its .tv64 field only
on those architectures defining CONFIG_KTIME_SCALAR, whereas in all
other cases (e.g. PowerPC) a ktime_to_ns() conversion (which
translates back to .tv64 when CONFIG_KTIME_SCALAR is defined)
becomes necessary.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 2 Sep 2012 19:33:09 +0000 (12:33 -0700)]
Support for linux kernels 2.6.32 through 2.6.37
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Aug 2012 13:57:09 +0000 (09:57 -0400)]
Document limitation of vppid and ppid context wrt eventual RCU instrumentation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Aug 2012 13:46:48 +0000 (09:46 -0400)]
Cleanup: no need to hold RCU read-side lock when reading current nsproxy
As documented in include/linux/nsproxy.h.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Aug 2012 00:23:21 +0000 (20:23 -0400)]
Add env hostname information
Approximation in case of hostname change or in case of
contextualisation, but it does the job for 95% of use-cases.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 23 Aug 2012 21:38:39 +0000 (17:38 -0400)]
Fix: lttng_statedump_process_state for each PID NS has infinite loop
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Julien Desfossez [Thu, 23 Aug 2012 21:11:35 +0000 (17:11 -0400)]
lttng_statedump_process_state for each PID NS
When a process is in a namespace, its pid, tid and ppid are relative to
the namespace. Since namespaces can be nested, we need to know the
representation of each process in each namespace.
This patch changes the lttng_enumerate_task_fd to iterate over each
PID namespace of a process if any, that way we generate, in the
statedump, an entry for each process in each namespace it belongs.
To know the nesting level, the field "level" is added to the
lttng_statedump_process_state event, 0 being the top-level.
For processes running on the top-level namespace, the statedump
behaviour is unchanged (except the added "level" field).
For example (no nesting, just one level of namespace) :
lttng_statedump_process_state: {
tid = 32185, vtid = 1, pid = 32185,
vpid = 1, ppid = 32173, vppid = 0,
level = 1, name = "init" }
lttng_statedump_process_state: {
tid = 32185, vtid = 32185, pid = 32185,
vpid = 32185, ppid = 32173, vppid = 32173,
level = 0, name = "init" }
Confirmed that the process 32173 in the top-level namespace is indeed
the lxc-start command that created the container and its namespace.
[ Edit by Mathieu Desnoyers: Minor cleanups ]
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Julien Desfossez [Thu, 23 Aug 2012 20:54:03 +0000 (16:54 -0400)]
Support the hostname context
This is particularly useful when tracing a machine with containers
(lxc), that way we can easily distinguish events generated inside
a container.
[ Edit by Mathieu Desnoyers: various fix. ]
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Julien Desfossez [Thu, 23 Aug 2012 20:19:53 +0000 (16:19 -0400)]
Fix: statedump namespaced pid, tid and ppid
Use the target process namespace to lookup the value (pid, tid or ppid),
not the current task.
[ Edit by Mathieu Desnoyers: removed extra p->nsproxy check. Already
performed within rcu read-side critical section. ]
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 22 Aug 2012 21:09:20 +0000 (17:09 -0400)]
Fix: statedump: disable vm maps enumeration
We need the tasklist lock to correctly dump these, which is unavailable
to modules. Disable this feature for now.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 22 Aug 2012 20:30:20 +0000 (16:30 -0400)]
Fix: ensure userspace accesses are done with _inatomic
Otherwise, triggers scheduling while atomic (might_sleep()) warnings,
since we call those from a tracepoint probe (with preemption disabled).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 22 Aug 2012 19:09:05 +0000 (15:09 -0400)]
Fix: vppid context should test for current nsproxy
Triggers a NULL pointer exception with tracing scheduling events with
vppid context activated.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Ralf Baechle [Thu, 12 Jul 2012 14:18:54 +0000 (10:18 -0400)]
Add MIPS system call support
[ Edit by Mathieu: currently missing: update of arch-independent headers
to include the MIPS headers to complete system call support. ]
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 12 Jul 2012 13:39:42 +0000 (09:39 -0400)]
Change mode of lttng-syscalls-generate-headers.sh to 755
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Ralf Baechle [Mon, 9 Jul 2012 16:48:11 +0000 (12:48 -0400)]
cleanup: fix typo in syscall instrumentation header
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 5 Jul 2012 18:43:53 +0000 (14:43 -0400)]
Cleanup: remove trailing whitespace in README
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 2 Jul 2012 15:34:30 +0000 (11:34 -0400)]
trace event: introduce TP_MODULE_NOAUTOLOAD and TP_MODULE_NOINIT
In preparation for introducing uevent tracing. (user-space events)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
UCHINO Satoshi [Wed, 27 Jun 2012 05:44:29 +0000 (07:44 +0200)]
LTTng: probe-statedump: add #include <linux/sched.h>
This fixes the following build error on ARM;
CC [M] drivers/staging/lttng/probes/lttng-probe-statedump.o
In file included from drivers/staging/lttng/probes/../instrumentation/events/lttng-module/../../../probes/lttng-events.h:221:0,
from drivers/staging/lttng/probes/../instrumentation/events/lttng-module/../../../probes/define_trace.h:117,
from drivers/staging/lttng/probes/../instrumentation/events/lttng-module/lttng-statedump.h:162,
from drivers/staging/lttng/probes/lttng-probe-statedump.c:41:
drivers/staging/lttng/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/lttng-statedump.h:29:1: error: 'TASK_COMM_LEN' undeclared here (not in a function)
Signed-off-by: UCHINO Satoshi <satoshi.uchino@toshiba.co.jp>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 12 Jun 2012 22:33:33 +0000 (18:33 -0400)]
fix: signal_generate event should print utf8 for comm field
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Francis Giraldeau [Tue, 5 Jun 2012 15:16:14 +0000 (11:16 -0400)]
Makes write operation a parameter for tp_memcpy macro
Memcpy source can be either user-space or kernel-space. To avoid code
duplication, this patch makes the operation a parameter to the macros.
Available macros are thus:
* tp_memcpy: kernel-space array copy
* tp_memcpy_from_user: user-space array copy
* tp_memcpy_dyn: kernel-space sequence copy
* tp_memcpy_dyn_from_user: user-space sequence copy
Those are TP_fast_assign macros that can be used with __dynamic_array
macros in TP_STRUCT__entry in a TRACE_EVENT.
Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 May 2012 13:07:41 +0000 (09:07 -0400)]
Add coding style document
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 14 May 2012 15:12:00 +0000 (11:12 -0400)]
Update instrumentation/events README file
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Francis Giraldeau [Thu, 10 May 2012 15:53:20 +0000 (11:53 -0400)]
Add makefile target for preprocessor
By specifying .i target, it runs gcc preprocessor for that file.
Example:
make myfile.i
will read myfile.c and output preprocessor to myfile.i
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 8 May 2012 20:02:41 +0000 (16:02 -0400)]
Fix: free_event_id check should compare unsigned int with -1U
Otherwise, on 32-bit:
lttng-modules/lttng-events.c:295: warning: comparison is always false due
to limited range of data type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 2 May 2012 15:43:47 +0000 (11:43 -0400)]
Use unsigned long type for events discarded counter
Overflows at 64-bit on 64-bit systems.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 26 Apr 2012 21:40:31 +0000 (17:40 -0400)]
Fix: update signal instrumentation for 3.4 kernel
Fix #226
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Ryan Kyser [Tue, 17 Apr 2012 14:54:41 +0000 (10:54 -0400)]
LTTng Modules ARM syscall instrumentation
This patch adds detailed instrumentation for ARM system calls, based on
a 2.6.38 kernel.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 17 Apr 2012 14:50:12 +0000 (10:50 -0400)]
Fix: generate header missing echo -e for escape chars
"why is the -e needed ? What was the experienced oddness ?"
The \n wasn't getting evaluated to a newline and was being inserted
into the header file as '\n'
From man echo(1):
If -e is in effect, the following sequences are recognized:
\\ backslash
\a alert (BEL)
\b backspace
\c produce no further output
\e escape
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
Suggested-by: Ryan Kyser <Ryan.Kyser@jci.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 17 Apr 2012 14:49:07 +0000 (10:49 -0400)]
Fix: add missing uaccess.h include (for ARM)
"What required uaccess.h ?"
I was getting the following error:
syscalls_pointers_override.h:6:1: error: implicit declaration of function ?strlen_user?
I found that strlen_user was defined in asm/uaccess.h, which is
included by linux/uaccess.h.
Suggested-by: Ryan Kyser <Ryan.Kyser@jci.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 11 Apr 2012 00:36:17 +0000 (20:36 -0400)]
README: Document that CONFIG_MODULES is required
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 9 Apr 2012 19:40:14 +0000 (15:40 -0400)]
Fix: README typo
Reported-by: Ryan Kyser <Ryan.Kyser@jci.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 6 Apr 2012 16:32:22 +0000 (12:32 -0400)]
Fix: document required and optional kernel config options in README
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 29 Mar 2012 04:41:11 +0000 (00:41 -0400)]
Update version to 2.0.1
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 26 Mar 2012 15:09:30 +0000 (11:09 -0400)]
Fix: is_compat_task !CONFIG_COMPAT compile error on kernels >= 3.3
The Linux kernel already defines a is_compat_task() (0) when
!CONFIG_COMPAT since kernel 3.3, so if we see it is already defined,
don't redefine it.
Closes #195
Reported-by: David Goulet <dgoulet@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 20 Mar 2012 22:34:27 +0000 (18:34 -0400)]
Update version to 2.0.0 stable
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 20 Mar 2012 21:11:02 +0000 (17:11 -0400)]
Update version to 2.0.0-rc4
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 20 Mar 2012 21:09:38 +0000 (17:09 -0400)]
Update README and add version name place-holder
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 16 Mar 2012 19:44:38 +0000 (15:44 -0400)]
Update version to 2.0.0-rc3
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Mar 2012 20:11:37 +0000 (16:11 -0400)]
Fix clock offset 32-bit multiplication overflow
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Julien Desfossez [Mon, 12 Mar 2012 19:00:37 +0000 (15:00 -0400)]
Fix : wrong assign of fd in state dump
lttng_statedump_file_descriptor was using the tgid instead of the fd for
the fd field.
Reported-by: Mathieu Bain <mathieu.bain@polymtl.ca>
Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Mar 2012 00:28:14 +0000 (19:28 -0500)]
License cleanup, ifdef namespace cleanup
- Spell out the LGPL license completely in each file.
- Change LINUX_* ifdefs for LIB_* in lib/ringbuffer header.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 8 Mar 2012 16:00:30 +0000 (11:00 -0500)]
Fix: ensure power of 2 check handles 64-bit size_t entirely
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Mar 2012 22:51:06 +0000 (17:51 -0500)]
Update version to 2.0.0-rc2
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Mar 2012 15:23:39 +0000 (10:23 -0500)]
Fix: dmesg printout should not print metadata warnings
Metadata channel retry when an event is dropped by the underlying
buffer. We should not print a message showing that the event has been
dropped to the user on dmesg console.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Mar 2012 15:12:42 +0000 (10:12 -0500)]
Fix: use transport name as channel name
Clarify dmesg printout.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 22 Feb 2012 00:20:13 +0000 (19:20 -0500)]
Fix: Return -EINVAL instead of print warning if non power of 2 size/num_subbuf
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 20 Feb 2012 20:32:01 +0000 (15:32 -0500)]
Update Version to 2.0.0-rc1
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 20 Feb 2012 19:59:42 +0000 (14:59 -0500)]
Standardize version across toolchain
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Juha Niskanen [Thu, 16 Feb 2012 16:55:42 +0000 (11:55 -0500)]
statedump: Use old macro name for kernel 2.6.38
Signed-off-by: Juha Niskanen <juniskane@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 16:39:57 +0000 (11:39 -0500)]
Update ChangeLog to 2.0-pre15
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 16:00:43 +0000 (11:00 -0500)]
Add timer instrumentation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 15:56:11 +0000 (10:56 -0500)]
fix: need to undef mainline define
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 15:54:41 +0000 (10:54 -0500)]
fix: Include signal.h instead of irq.h for prototype match check
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 15:46:32 +0000 (10:46 -0500)]
Add signal instrumentation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 14:36:02 +0000 (09:36 -0500)]
Update ChangeLog to 2.0-pre14
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 03:13:43 +0000 (22:13 -0500)]
syscall tracing: sys_getcpu
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 02:48:30 +0000 (21:48 -0500)]
Add sys_clone x86 instrumentation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 02:13:32 +0000 (21:13 -0500)]
statedump: fix include circular dep
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Feb 2012 02:02:00 +0000 (21:02 -0500)]
Implement state dump
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 10 Feb 2012 00:36:51 +0000 (19:36 -0500)]
Update Changelog to 2.0-pre13
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 8 Feb 2012 14:37:11 +0000 (09:37 -0500)]
Update README
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 7 Feb 2012 04:29:20 +0000 (23:29 -0500)]
environment: write sysname, release, version, domain to metadata
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 7 Feb 2012 04:23:38 +0000 (23:23 -0500)]
Allow open /proc/lttng for read & write
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 3 Feb 2012 03:29:39 +0000 (22:29 -0500)]
Update Changelog to 2.0-pre12
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 2 Feb 2012 19:42:37 +0000 (14:42 -0500)]
Add x86 32/64 execve syscall instrumentation override
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 2 Feb 2012 17:21:53 +0000 (12:21 -0500)]
Remove unused defines
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 2 Feb 2012 17:12:17 +0000 (12:12 -0500)]
Add padding to ABI
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 2 Feb 2012 17:03:21 +0000 (12:03 -0500)]
Use LTTNG_KERNEL_SYM_NAME_LEN
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 2 Feb 2012 16:55:18 +0000 (11:55 -0500)]
Update version to 1.9.9
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 30 Jan 2012 16:27:58 +0000 (11:27 -0500)]
Add missing double-quotes to clock uuid
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 30 Jan 2012 15:30:05 +0000 (10:30 -0500)]
clock: read bootid as clock monotonic ID
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 30 Jan 2012 14:19:23 +0000 (09:19 -0500)]
Fix comment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 30 Jan 2012 14:03:58 +0000 (09:03 -0500)]
Cleanup comment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 27 Jan 2012 02:36:06 +0000 (21:36 -0500)]
clock: output clock description in metadata
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 26 Jan 2012 20:13:55 +0000 (15:13 -0500)]
Properly fix the timekeeping overflow detection
The underlying issue was a mismatch between the ring buffer
configuration description of the number of clock bits (32) saved and the
actual number used (27).
Introduce LTTNG_COMPACT_EVENT_BITS and LTTNG_COMPACT_TSC_BITS across the
code to remove all hardcoded instances of these values to ensure this
kind of mistake does not happen again.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Reported-by: Sébastien Barthélémy <barthelemy@crans.org>
Mathieu Desnoyers [Sun, 22 Jan 2012 21:22:24 +0000 (16:22 -0500)]
Fix init bug
Fix reversed logic bug introduced by commit
80996790fa42072d6525f2adb9a910312077bef6
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 21:18:29 +0000 (16:18 -0500)]
rename lib-ring-buffer to lttng-lib-ring-buffer
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 21:17:27 +0000 (16:17 -0500)]
Remove #warning
Keep a comment about future work, but don't generate compiler warnings.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 21:13:41 +0000 (16:13 -0500)]
Mass rename: ltt_*/ltt-* to LTTNG_*/LTTNG-*
For files, defines and symbols.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 20:53:11 +0000 (15:53 -0500)]
Update TODO
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 20:52:05 +0000 (15:52 -0500)]
Update TODO
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 20:51:41 +0000 (15:51 -0500)]
Remove debugfs file (keep only proc file)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 22 Jan 2012 20:47:17 +0000 (15:47 -0500)]
Rename lttng-debugfs-abi files to lttng-abi
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 21:57:37 +0000 (16:57 -0500)]
Update ChangeLog for 2.0-pre11
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 21:37:51 +0000 (16:37 -0500)]
Fix OOPS caused by reference of config pointer
The config pointer points to data that may vanish across the life-time
of the ring buffer stream references. It's only kept valid for the
duration between the channel create and destroy, but the streams can
keep an extra reference on the channel, and thus need the config to stay
valid.
Perform a copy of the config rather than keeping a pointer to it.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:39:10 +0000 (09:39 -0500)]
Gather detailed info from x86 64 32-bit compat syscall instrumentation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:26:52 +0000 (09:26 -0500)]
lttng lib: ring buffer move null pointer check to open
Let's move the NULL buf check to the file "open", where it belongs. The
"open" file operation is the actual interface between lib ring buffer
and the modules using it.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:26:06 +0000 (09:26 -0500)]
lttng lib: ring buffer remove duplicate null pointer
This check is performed at mapping setup time in
lib_ring_buffer_mmap_buf() already, so we can safely remove this
duplicata.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:25:18 +0000 (09:25 -0500)]
lttng lib: ring buffer: remove stale null-pointer
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:24:26 +0000 (09:24 -0500)]
lttng wrapper: add missing include to kallsyms wrapper
Needed to keep bissectability.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:22:30 +0000 (09:22 -0500)]
lttng: cleanup one-bit signed bitfields
* Dan Carpenter <dan.carpenter@oracle.com> wrote:
> Sparse complains that these signed bitfields look "dubious". The
> problem is that instead of being either 0 or 1 like people would expect,
> signed one bit variables like this are either 0 or -1. It doesn't cause
> a problem in this case but it's ugly so lets fix them.
* walter harms (wharms@bfs.de) wrote:
> hi,
> This patch looks ok to me but this design is ugly by itself.
> It should be replaced by an uchar uint whatever or use a
> real bool (obviously not preferred by this programmes).
bool :1, uchar :1 or uint :1 could make sense. uchar:1/bool:1 won't save
any space here, because the surrounding fields are either uint or
pointers, so alignment will just add padding.
I try to use int/uint whenever possible because x86 CPUs tend to get
less register false-dependencies when using instructions modifying the
whole register (generated by using int/uint types) rather than only part
of it (uchar/char/bool). I only use char/uchar/bool when there is a
clear wanted space gain.
The reason why I never use the bool type within a structure when I want
a compact representation is that bool takes a whole byte just to
represent one bit:
struct usebitfield {
int a;
unsigned int f:1, g:1, h:1, i:1, j:1;
int b;
};
struct usebool {
int a;
bool f, g, h, i, j;
int b;
};
struct useboolbf {
int a;
bool f:1, g:1, h:1, i:1, j:1;
int b;
};
int main()
{
printf("bitfield %d bytes, bool %d bytes, boolbitfield %d bytes\n",
sizeof(struct usebitfield), sizeof(struct usebool),
sizeof(struct useboolbf));
}
result:
bitfield 12 bytes, bool 16 bytes, boolbitfield 12 bytes
This is because each bool takes one byte, while the bitfields are put in
units of "unsigned int" (or bool for the 3rd struct). So in this
example, we need 5 bytes + 3 bytes alignment for the bool, but only 4
bytes to hold the "unsigned int" unit for the bitfields.
The choice between bool and bitfields must also take into account the
frequency of access to the variable, because bitfields require mask
operations to access the selected bit(s). You will notice that none of
these bitfields are accessed on the tracing fast-path: only in
slow-paths. Therefore, space gain is more important than speed here.
One might argue that I have so few of these fields here that it does not
make an actual difference to go for bitfield or bool. I am just trying
to choose types best suited for their intended purpose, ensuring they
are future-proof and will allow simply adding more fields using the same
type, as needed.
So I guess I'll go for unsigned int :1 (rather than uint:1, so we
keep source-level compatibility with user-space LTTng-UST).
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 9 Dec 2011 14:15:49 +0000 (09:15 -0500)]
Add TODO file
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 01:03:24 +0000 (20:03 -0500)]
Update symbol name length max size to 256
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Yannick Brosseau [Sat, 3 Dec 2011 02:03:19 +0000 (21:03 -0500)]
Fix last modifications to string_from_user operations
Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 20:17:52 +0000 (15:17 -0500)]
Document that depmod needs to be executed by hand
External modules don't seem to actually execute depmod on make install,
even though the console output says so. Document that it needs to be
manually executed in the README file.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 7 Nov 2011 22:00:25 +0000 (17:00 -0500)]
Fix strlen_user fault space reservation
The previous fix took care of kernel OOPS, but did not reserve space for
the \0.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 7 Nov 2011 21:46:29 +0000 (16:46 -0500)]
Fix tp_copy_string_from_user handling of faults
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.04275 seconds and 4 git commands to generate.