X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libust%2Ftracer.h;h=0fa2e4dd929fcb54254fa0fff4f93fae965e5e69;hb=518d7abb8e3720433c611499f704c3bd9d554102;hp=cc3974e2a9d45ef0febc077b153ffa7637fe2ad3;hpb=31d392f1a565abd0751302d8c52b9f9e695e051e;p=ust.git diff --git a/libust/tracer.h b/libust/tracer.h index cc3974e..0fa2e4d 100644 --- a/libust/tracer.h +++ b/libust/tracer.h @@ -26,12 +26,12 @@ #include #include -#include +#include +#include +#include #include "channels.h" #include "tracercore.h" #include "tracerconst.h" -#include -#include #include "buffers.h" /* Number of bytes to log with a read/write event */ @@ -241,8 +241,7 @@ static __inline__ size_t ltt_subbuffer_header_size(void) return offsetof(struct ltt_subbuffer_header, header_end); } -extern size_t ltt_write_event_header_slow(struct ust_trace *trace, - struct ust_channel *channel, +extern size_t ltt_write_event_header_slow(struct ust_channel *channel, struct ust_buffer *buf, long buf_offset, u16 eID, u32 event_size, u64 tsc, unsigned int rflags); @@ -264,8 +263,7 @@ extern size_t ltt_write_event_header_slow(struct ust_trace *trace, * * returns : offset where the event data must be written. */ -static __inline__ size_t ltt_write_event_header(struct ust_trace *trace, - struct ust_channel *chan, +static __inline__ size_t ltt_write_event_header(struct ust_channel *chan, struct ust_buffer *buf, long buf_offset, u16 eID, u32 event_size, u64 tsc, unsigned int rflags) @@ -283,7 +281,7 @@ static __inline__ size_t ltt_write_event_header(struct ust_trace *trace, return buf_offset; slow_path: - return ltt_write_event_header_slow(trace, chan, buf, buf_offset, + return ltt_write_event_header_slow(chan, buf, buf_offset, eID, event_size, tsc, rflags); } @@ -338,6 +336,21 @@ static __inline__ void ltt_write_trace_header(struct ust_trace *trace, header->freq_scale = trace->freq_scale; } +static __inline__ int ust_get_cpu(void) +{ +#ifndef UST_VALGRIND + return sched_getcpu(); +#else + /* Valgrind does not support the sched_getcpu() vsyscall. + * It causes it to detect a segfault in the program and stop it. + * So if we want to check libust with valgrind, we have to refrain + * from using this call. TODO: it would probably be better to return + * other values too, to better test it. + */ + return 0; +#endif +} + /* * Size reserved for high priority events (interrupts, NMI, BH) at the end of a