#include <stdint.h>
#include <stddef.h>
#include <urcu/arch.h>
+#include <string.h>
#include "lttng/align.h"
struct lttng_ust_lib_ring_buffer;
* RING_BUFFER_WAKEUP_NONE does not perform any wakeup whatsoever. The client
* has the responsibility to perform wakeups.
*/
+#define LTTNG_UST_RING_BUFFER_CONFIG_PADDING 32
struct lttng_ust_lib_ring_buffer_config {
enum {
RING_BUFFER_ALLOC_PER_CPU,
* callbacks and update the cb pointers.
*/
int client_type;
+ char padding[LTTNG_UST_RING_BUFFER_CONFIG_PADDING];
};
/*
* lib_ring_buffer_try_discard_reserve(), lib_ring_buffer_align_ctx() and
* lib_ring_buffer_write().
*/
+#define LTTNG_UST_RING_BUFFER_CTX_PADDING 24
struct lttng_ust_lib_ring_buffer_ctx {
/* input received by lib_ring_buffer_reserve(), saved here. */
struct channel *chan; /* channel */
*/
uint64_t tsc; /* time-stamp counter value */
unsigned int rflags; /* reservation flags */
+ char padding[LTTNG_UST_RING_BUFFER_CTX_PADDING];
};
/**
ctx->cpu = cpu;
ctx->rflags = 0;
ctx->handle = handle;
+ memset(ctx->padding, 0, LTTNG_UST_RING_BUFFER_CTX_PADDING);
}
/*
void *data;
};
+#define TRACEPOINT_PADDING 16
struct tracepoint {
const char *name;
int state;
struct tracepoint_probe *probes;
int *tracepoint_provider_ref;
+ char padding[TRACEPOINT_PADDING];
};
#endif /* _LTTNG_TRACEPOINT_TYPES_H */