* Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
-/*
- * This page_alloc.h wrapper needs to be included before gfpflags.h because it
- * overrides a function with a define.
- */
-#include "wrapper/page_alloc.h"
-
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/file.h>
#include <linux/anon_inodes.h>
-#include <wrapper/file.h>
#include <linux/jhash.h>
#include <linux/uaccess.h>
#include <linux/uuid.h>
#include <linux/dmi.h>
#include <linux/vmalloc.h>
+#include <linux/limits.h>
#include <wrapper/random.h>
-#include <wrapper/tracepoint.h>
-#include <wrapper/list.h>
-#include <wrapper/types.h>
#include <lttng-kernel-version.h>
#include <lttng-events.h>
#include <lttng-tracer.h>
#include <lttng-abi-old.h>
#include <lttng-endian.h>
#include <lttng-string-utils.h>
+#include <lttng-tracepoint.h>
#include <wrapper/ringbuffer/backend.h>
#include <wrapper/ringbuffer/frontend.h>
-#include <wrapper/time.h>
#define METADATA_CACHE_DEFAULT_SIZE 4096
void synchronize_trace(void)
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,1,0))
- synchronize_rcu();
-#else
- synchronize_sched();
-#endif
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
-#ifdef CONFIG_PREEMPT_RT_FULL
synchronize_rcu();
-#endif
-#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) */
-#ifdef CONFIG_PREEMPT_RT
- synchronize_rcu();
-#endif
-#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) */
}
void lttng_lock_sessions(void)
name_len = strlen(event_name);
hash = jhash(event_name, name_len, 0);
head = &session->events_ht.table[hash & (LTTNG_EVENT_HT_SIZE - 1)];
- lttng_hlist_for_each_entry(event, head, hlist) {
+ hlist_for_each_entry(event, head, hlist) {
WARN_ON_ONCE(!event->desc);
if (!strncmp(event->desc->name, event_name,
LTTNG_KERNEL_SYM_NAME_LEN - 1)
desc = event->desc;
switch (event->instrumentation) {
case LTTNG_KERNEL_TRACEPOINT:
- ret = lttng_wrapper_tracepoint_probe_register(desc->kname,
- desc->probe_callback,
- event);
+ ret = lttng_tracepoint_probe_register(desc->kname,
+ desc->probe_callback,
+ event);
break;
case LTTNG_KERNEL_SYSCALL:
ret = lttng_syscall_filter_enable(event->chan,
desc = event->desc;
switch (event->instrumentation) {
case LTTNG_KERNEL_TRACEPOINT:
- ret = lttng_wrapper_tracepoint_probe_unregister(event->desc->kname,
+ ret = lttng_tracepoint_probe_unregister(event->desc->kname,
event->desc->probe_callback,
event);
break;
for (i = 0; i < LTTNG_ID_TABLE_SIZE; i++) {
struct hlist_head *head = &id_tracker_p->id_hash[i];
- lttng_hlist_for_each_entry(e, head, hlist) {
+ hlist_for_each_entry(e, head, hlist) {
if (iter++ >= *pos)
return e;
}
for (i = 0; i < LTTNG_ID_TABLE_SIZE; i++) {
struct hlist_head *head = &id_tracker_p->id_hash[i];
- lttng_hlist_for_each_entry(e, head, hlist) {
+ hlist_for_each_entry(e, head, hlist) {
if (iter++ >= *ppos)
return e;
}
struct seq_file *m;
int file_fd, ret;
- file_fd = lttng_get_unused_fd();
+ file_fd = get_unused_fd_flags(0);
if (file_fd < 0) {
ret = file_fd;
goto fd_error;
int lttng_match_enabler_star_glob(const char *desc_name,
const char *pattern)
{
- if (!strutils_star_glob_match(pattern, LTTNG_SIZE_MAX,
- desc_name, LTTNG_SIZE_MAX))
+ if (!strutils_star_glob_match(pattern, SIZE_MAX,
+ desc_name, SIZE_MAX))
return 0;
return 1;
}
*/
hash = jhash(event_name, name_len, 0);
head = &session->events_ht.table[hash & (LTTNG_EVENT_HT_SIZE - 1)];
- lttng_hlist_for_each_entry(event, head, hlist) {
+ hlist_for_each_entry(event, head, hlist) {
if (event->desc == desc
&& event->chan == enabler->chan)
found = 1;
uint64_t tcf = trace_clock_freq();
int64_t offset;
unsigned long flags;
-#ifdef LTTNG_KERNEL_HAS_TIMESPEC64
struct timespec64 rts = { 0, 0 };
-#else
- struct timespec rts = { 0, 0 };
-#endif
/* Disable interrupts to increase correlation precision. */
local_irq_save(flags);
monotonic[0] = trace_clock_read64();
-#ifdef LTTNG_KERNEL_HAS_TIMESPEC64
ktime_get_real_ts64(&rts);
-#else
- getnstimeofday(&rts);
-#endif
monotonic[1] = trace_clock_read64();
local_irq_restore(flags);
}
EXPORT_SYMBOL_GPL(lttng_transport_unregister);
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-
enum cpuhp_state lttng_hp_prepare;
enum cpuhp_state lttng_hp_online;
cpuhp_remove_multi_state(lttng_hp_prepare);
}
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
-static int lttng_init_cpu_hotplug(void)
-{
- return 0;
-}
-static void lttng_exit_cpu_hotplug(void)
-{
-}
-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
-
-
static int __init lttng_events_init(void)
{
int ret;
- ret = wrapper_lttng_fixup_sig(THIS_MODULE);
- if (ret)
- return ret;
- ret = wrapper_get_pfnblock_flags_mask_init();
- if (ret)
- return ret;
- ret = wrapper_get_pageblock_flags_mask_init();
- if (ret)
- return ret;
ret = lttng_probes_init();
if (ret)
return ret;