[ltt-dev] syscall id limited to 16 bits

Matthieu CASTET matthieu.castet at parrot.com
Fri Aug 14 08:06:28 EDT 2009


Hi,

in the ltt patch used for 2.6.27, syscall trace only report the syscall
id on 16 bits [1].

This is wrong. For example on arm, there are private arch syscall in the
range 0xf0000-0xfffff (for example set_tls).
For this syscall the kernel.syscall_entry trace get the id truncated.


Matthieu


[1] look at the (unsigned short) cast on id
+notrace void probe_syscall_entry(struct pt_regs *regs, long id)
+{
+       struct marker *marker;
+       struct serialize_long_short data;
+
+       data.f1 = instruction_pointer(regs);
+       data.f2 = (unsigned short)id;
+
+       marker = &GET_MARKER(kernel, syscall_entry);
+       ltt_specialized_trace(marker, marker->single.probe_private,
+               &data, serialize_sizeof(data), sizeof(long));
+}





More information about the lttng-dev mailing list