[lttng-dev] [PATCH lttng-modules] RFC: Drop support for kernels < 3.0
Michael Jeanson
mjeanson at efficios.com
Thu Nov 8 15:03:51 EST 2018
Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
---
README.md | 2 +-
instrumentation/events/lttng-module/block.h | 89 +--
instrumentation/events/lttng-module/ext4.h | 179 +-----
instrumentation/events/lttng-module/irq.h | 64 --
instrumentation/events/lttng-module/jbd2.h | 6 -
instrumentation/events/lttng-module/kmem.h | 7 -
instrumentation/events/lttng-module/kvm.h | 10 -
instrumentation/events/lttng-module/lock.h | 71 +--
.../events/lttng-module/mm_vmscan.h | 2 +-
instrumentation/events/lttng-module/module.h | 22 +-
instrumentation/events/lttng-module/net.h | 12 -
instrumentation/events/lttng-module/power.h | 40 --
instrumentation/events/lttng-module/sched.h | 68 +--
instrumentation/events/lttng-module/scsi.h | 8 -
instrumentation/events/lttng-module/skb.h | 4 -
.../events/lttng-module/workqueue.h | 61 --
.../events/lttng-module/writeback.h | 4 -
lib/bug.h | 10 +-
lib/ringbuffer/frontend_types.h | 1 -
.../backport-kallsym-sym-2.6.32.patch | 37 --
.../backport-splice-sym-2.6.32-34.patch | 71 ---
.../backport-tp-2.6.34-tracepoint-data.patch | 559 ------------------
.../backport-tracepoint-data-2.6.32-33.patch | 555 -----------------
lttng-events.c | 7 +-
lttng-events.h | 6 +-
lttng-kernel-version.h | 5 -
lttng-statedump-impl.c | 9 +-
probes/lttng-probe-lock.c | 5 -
tests/probes/lttng-test.c | 3 +-
wrapper/atomic.h | 4 -
wrapper/kstrtox.h | 47 --
wrapper/perf.h | 25 -
wrapper/spinlock.h | 34 --
wrapper/tracepoint.h | 6 -
wrapper/uuid.h | 30 -
wrapper/vzalloc.h | 34 --
36 files changed, 37 insertions(+), 2060 deletions(-)
delete mode 100644 linux-patches/backport-kallsym-sym-2.6.32.patch
delete mode 100644 linux-patches/backport-splice-sym-2.6.32-34.patch
delete mode 100644 linux-patches/backport-tp-2.6.34-tracepoint-data.patch
delete mode 100644 linux-patches/backport-tracepoint-data-2.6.32-33.patch
delete mode 100644 wrapper/kstrtox.h
delete mode 100644 wrapper/spinlock.h
delete mode 100644 wrapper/uuid.h
delete mode 100644 wrapper/vzalloc.h
diff --git a/README.md b/README.md
index 201a579..66bf925 100644
--- a/README.md
+++ b/README.md
@@ -107,7 +107,7 @@ to print traces as a human-readable text log.
Support
-------
-Linux kernels >= 2.6.36 are supported.
+Linux kernels >= 3.0 are supported.
Notes
diff --git a/instrumentation/events/lttng-module/block.h b/instrumentation/events/lttng-module/block.h
index e7e9449..9f77526 100644
--- a/instrumentation/events/lttng-module/block.h
+++ b/instrumentation/events/lttng-module/block.h
@@ -81,24 +81,7 @@ enum {
| ((rw) & REQ_FLUSH ? RWBS_FLAG_FLUSH : 0) \
| ((rw) & REQ_FUA ? RWBS_FLAG_FUA : 0))
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
-
-#define lttng_req_op(rq)
-#define lttng_req_rw(rq) ((rq)->cmd_flags)
-#define lttng_bio_op(bio)
-#define lttng_bio_rw(bio) ((bio)->bi_rw)
-
-#define blk_rwbs_ctf_integer(type, rwbs, op, rw, bytes) \
- ctf_integer(type, rwbs, ((rw) & WRITE ? RWBS_FLAG_WRITE : \
- ( (rw) & REQ_DISCARD ? RWBS_FLAG_DISCARD : \
- ( (bytes) ? RWBS_FLAG_READ : \
- ( 0 )))) \
- | ((rw) & REQ_RAHEAD ? RWBS_FLAG_RAHEAD : 0) \
- | ((rw) & REQ_SYNC ? RWBS_FLAG_SYNC : 0) \
- | ((rw) & REQ_META ? RWBS_FLAG_META : 0) \
- | ((rw) & REQ_SECURE ? RWBS_FLAG_SECURE : 0))
-
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
+#else
#define lttng_req_op(rq)
#define lttng_req_rw(rq) ((rq)->cmd_flags)
@@ -111,28 +94,10 @@ enum {
( (bytes) ? RWBS_FLAG_READ : \
( 0 )))) \
| ((rw) & REQ_RAHEAD ? RWBS_FLAG_RAHEAD : 0) \
- | ((rw) & REQ_HARDBARRIER ? RWBS_FLAG_BARRIER : 0) \
| ((rw) & REQ_SYNC ? RWBS_FLAG_SYNC : 0) \
| ((rw) & REQ_META ? RWBS_FLAG_META : 0) \
| ((rw) & REQ_SECURE ? RWBS_FLAG_SECURE : 0))
-#else
-
-#define lttng_req_op(rq)
-#define lttng_req_rw(rq) ((rq)->cmd_flags)
-#define lttng_bio_op(bio)
-#define lttng_bio_rw(bio) ((bio)->bi_rw)
-
-#define blk_rwbs_ctf_integer(type, rwbs, op, rw, bytes) \
- ctf_integer(type, rwbs, ((rw) & WRITE ? RWBS_FLAG_WRITE : \
- ( (rw) & (1 << BIO_RW_DISCARD) ? RWBS_FLAG_DISCARD : \
- ( (bytes) ? RWBS_FLAG_READ : \
- ( 0 )))) \
- | ((rw) & (1 << BIO_RW_AHEAD) ? RWBS_FLAG_RAHEAD : 0) \
- | ((rw) & (1 << BIO_RW_SYNCIO) ? RWBS_FLAG_SYNC : 0) \
- | ((rw) & (1 << BIO_RW_META) ? RWBS_FLAG_META : 0) \
- | ((rw) & (1 << BIO_RW_BARRIER) ? RWBS_FLAG_BARRIER : 0))
-
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
@@ -653,15 +618,9 @@ LTTNG_TRACEPOINT_EVENT(block_bio_bounce,
*/
LTTNG_TRACEPOINT_EVENT(block_bio_complete,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
TP_PROTO(struct request_queue *q, struct bio *bio, int error),
TP_ARGS(q, bio, error),
-#else
- TP_PROTO(struct request_queue *q, struct bio *bio),
-
- TP_ARGS(q, bio),
-#endif
TP_FIELDS(
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
@@ -679,11 +638,7 @@ LTTNG_TRACEPOINT_EVENT(block_bio_complete,
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
ctf_integer(sector_t, sector, bio->bi_sector)
ctf_integer(unsigned int, nr_sector, bio->bi_size >> 9)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
ctf_integer(int, error, error)
-#else
- ctf_integer(int, error, 0)
-#endif
blk_rwbs_ctf_integer(unsigned int, rwbs,
lttng_bio_op(bio), lttng_bio_rw(bio), bio->bi_size)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
@@ -938,43 +893,17 @@ LTTNG_TRACEPOINT_EVENT(block_plug,
LTTNG_TRACEPOINT_EVENT_CLASS(block_unplug,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
TP_PROTO(struct request_queue *q, unsigned int depth, bool explicit),
TP_ARGS(q, depth, explicit),
-#else
- TP_PROTO(struct request_queue *q),
-
- TP_ARGS(q),
-#endif
TP_FIELDS(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(int, nr_rq, depth)
-#else
- ctf_integer(int, nr_rq, q->rq.count[READ] + q->rq.count[WRITE])
-#endif
ctf_integer(pid_t, tid, current->pid)
ctf_array_text(char, comm, current->comm, TASK_COMM_LEN)
)
)
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39))
-/**
- * block_unplug_timer - timed release of operations requests in queue to device driver
- * @q: request queue to unplug
- *
- * Unplug the request queue @q because a timer expired and allow block
- * operation requests to be sent to the device driver.
- */
-LTTNG_TRACEPOINT_EVENT_INSTANCE(block_unplug, block_unplug_timer,
-
- TP_PROTO(struct request_queue *q),
-
- TP_ARGS(q)
-)
-#endif
-
/**
* block_unplug - release of operations requests in request queue
* @q: request queue to unplug
@@ -984,21 +913,11 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_unplug, block_unplug_timer,
* Unplug request queue @q because device driver is scheduled to work
* on elements in the request queue.
*/
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
LTTNG_TRACEPOINT_EVENT_INSTANCE(block_unplug, block_unplug,
-#else
-LTTNG_TRACEPOINT_EVENT_INSTANCE(block_unplug, block_unplug_io,
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
TP_PROTO(struct request_queue *q, unsigned int depth, bool explicit),
TP_ARGS(q, depth, explicit)
-#else
- TP_PROTO(struct request_queue *q),
-
- TP_ARGS(q)
-#endif
)
/**
@@ -1051,11 +970,7 @@ LTTNG_TRACEPOINT_EVENT(block_split,
* An operation for a logical device has been mapped to the
* raw block device.
*/
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
LTTNG_TRACEPOINT_EVENT(block_bio_remap,
-#else
-LTTNG_TRACEPOINT_EVENT(block_remap,
-#endif
TP_PROTO(struct request_queue *q, struct bio *bio, dev_t dev,
sector_t from),
@@ -1085,7 +1000,6 @@ LTTNG_TRACEPOINT_EVENT(block_remap,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
/**
* block_rq_remap - map request for a block operation request
* @q: queue holding the operation
@@ -1114,7 +1028,6 @@ LTTNG_TRACEPOINT_EVENT(block_rq_remap,
lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
)
)
-#endif
#undef __print_rwbs_flags
#undef blk_fill_rwbs
diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
index 307021a..b2ca8a7 100644
--- a/instrumentation/events/lttng-module/ext4.h
+++ b/instrumentation/events/lttng-module/ext4.h
@@ -74,7 +74,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_allocate_inode,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT(ext4_evict_inode,
TP_PROTO(struct inode *inode),
@@ -122,7 +121,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_begin_ordered_truncate,
ctf_integer(loff_t, new_size, new_size)
)
)
-#endif
LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin,
@@ -203,20 +201,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_da_write_end,
TP_ARGS(inode, pos, len, copied)
)
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
-LTTNG_TRACEPOINT_EVENT(ext4_writepage,
- TP_PROTO(struct inode *inode, struct page *page),
-
- TP_ARGS(inode, page),
-
- TP_FIELDS(
- ctf_integer(dev_t, dev, inode->i_sb->s_dev)
- ctf_integer(ino_t, ino, inode->i_ino)
- ctf_integer(pgoff_t, index, page->index)
- )
-)
-#endif
-
LTTNG_TRACEPOINT_EVENT(ext4_da_writepages,
TP_PROTO(struct inode *inode, struct writeback_control *wbc),
@@ -230,16 +214,8 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_writepages,
ctf_integer(loff_t, range_start, wbc->range_start)
ctf_integer(loff_t, range_end, wbc->range_end)
ctf_integer(pgoff_t, writeback_index, inode->i_mapping->writeback_index)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(int, sync_mode, wbc->sync_mode)
-#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37))
- ctf_integer(char, nonblocking, wbc->nonblocking)
-#endif
ctf_integer(char, for_kupdate, wbc->for_kupdate)
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39))
- ctf_integer(char, for_reclaim, wbc->for_reclaim)
-#endif
ctf_integer(char, range_cyclic, wbc->range_cyclic)
)
)
@@ -277,9 +253,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages,
ctf_integer(unsigned long, first_page, mpd->first_page)
ctf_integer(int, io_done, mpd->io_done)
ctf_integer(int, pages_written, mpd->pages_written)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(int, sync_mode, mpd->wbc->sync_mode)
-#endif
)
)
@@ -316,22 +290,10 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_writepages_result,
ctf_integer(int, pages_written, pages_written)
ctf_integer(long, pages_skipped, wbc->pages_skipped)
ctf_integer(pgoff_t, writeback_index, inode->i_mapping->writeback_index)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(int, sync_mode, wbc->sync_mode)
-#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
- ctf_integer(char, encountered_congestion, wbc->encountered_congestion)
-#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
- ctf_integer(char, more_io, wbc->more_io)
-#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
- ctf_integer(char, no_nrwrite_index_update, wbc->no_nrwrite_index_update)
-#endif
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
LTTNG_TRACEPOINT_EVENT_CLASS(ext4__page_op,
TP_PROTO(struct page *page),
@@ -344,14 +306,12 @@ LTTNG_TRACEPOINT_EVENT_CLASS(ext4__page_op,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page)
)
-#endif
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_readpage,
@@ -413,8 +373,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_invalidatepage,
#endif
-#endif
-
LTTNG_TRACEPOINT_EVENT(ext4_discard_blocks,
TP_PROTO(struct super_block *sb, unsigned long long blk,
unsigned long long count),
@@ -461,91 +419,46 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa, ext4_mb_new_group_pa,
LTTNG_TRACEPOINT_EVENT(ext4_mb_release_inode_pa,
TP_PROTO(
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
- struct super_block *sb,
- struct inode *inode,
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
- struct super_block *sb,
- struct ext4_allocation_context *ac,
-#else
- struct ext4_allocation_context *ac,
-#endif
-#endif
struct ext4_prealloc_space *pa,
unsigned long long block, unsigned int count),
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
TP_ARGS(pa, block, count),
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
- TP_ARGS(sb, inode, pa, block, count),
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
- TP_ARGS(sb, ac, pa, block, count),
-#else
- TP_ARGS(ac, pa, block, count),
-#endif
TP_FIELDS(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
ctf_integer(dev_t, dev, pa->pa_inode->i_sb->s_dev)
ctf_integer(ino_t, ino, pa->pa_inode->i_ino)
-#else
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
- ctf_integer(dev_t, dev, sb->s_dev)
-#else
- ctf_integer(dev_t, dev, ac->ac_sb->s_dev)
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
- ctf_integer(ino_t, ino, inode->i_ino)
-#else
- ctf_integer(ino_t, ino,
- (ac && ac->ac_inode) ? ac->ac_inode->i_ino : 0)
-#endif
-#endif
ctf_integer(__u64, block, block)
ctf_integer(__u32, count, count)
)
)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
-#if (LTTNG_KERNEL_RANGE(2,6,40, 3,3,0))
- TP_PROTO(struct ext4_prealloc_space *pa),
-
- TP_ARGS(pa),
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
TP_PROTO(struct super_block *sb, struct ext4_prealloc_space *pa),
TP_ARGS(sb, pa),
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
- TP_PROTO(struct super_block *sb,
- struct ext4_allocation_context *ac,
- struct ext4_prealloc_space *pa),
- TP_ARGS(sb, ac, pa),
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(__u64, pa_pstart, pa->pa_pstart)
+ ctf_integer(__u32, pa_len, pa->pa_len)
+ )
+)
#else
- TP_PROTO(struct ext4_allocation_context *ac,
- struct ext4_prealloc_space *pa),
+LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
- TP_ARGS(ac, pa),
-#endif
+ TP_PROTO(struct ext4_prealloc_space *pa),
+
+ TP_ARGS(pa),
TP_FIELDS(
-#if (LTTNG_KERNEL_RANGE(2,6,40, 3,3,0))
ctf_integer(dev_t, dev, pa->pa_inode->i_sb->s_dev)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
- ctf_integer(dev_t, dev, sb->s_dev)
-#else
- ctf_integer(dev_t, dev, ac->ac_sb->s_dev)
-#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37))
- ctf_integer(ino_t, ino,
- (ac && ac->ac_inode) ? ac->ac_inode->i_ino : 0)
-#endif
ctf_integer(__u64, pa_pstart, pa->pa_pstart)
ctf_integer(__u32, pa_len, pa->pa_len)
)
)
+#endif
LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
TP_PROTO(struct inode *inode),
@@ -609,62 +522,34 @@ LTTNG_TRACEPOINT_EVENT(ext4_allocate_blocks,
)
LTTNG_TRACEPOINT_EVENT(ext4_free_blocks,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
TP_PROTO(struct inode *inode, __u64 block, unsigned long count,
int flags),
TP_ARGS(inode, block, count, flags),
-#else
- TP_PROTO(struct inode *inode, __u64 block, unsigned long count,
- int metadata),
-
- TP_ARGS(inode, block, count, metadata),
-#endif
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(__u64, block, block)
ctf_integer(unsigned long, count, count)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
ctf_integer(int, flags, flags)
ctf_integer(TP_MODE_T, mode, inode->i_mode)
-#else
- ctf_integer(int, metadata, metadata)
-#endif
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
LTTNG_TRACEPOINT_EVENT(ext4_sync_file_enter,
-#else
-LTTNG_TRACEPOINT_EVENT(ext4_sync_file,
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct file *file, int datasync),
TP_ARGS(file, datasync),
-#else
- TP_PROTO(struct file *file, struct dentry *dentry, int datasync),
-
- TP_ARGS(file, dentry, datasync),
-#endif
TP_FIELDS(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
ctf_integer(dev_t, dev, file->f_path.dentry->d_inode->i_sb->s_dev)
ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino)
ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino)
-#else
- ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
- ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
- ctf_integer(ino_t, parent, dentry->d_parent->d_inode->i_ino)
-#endif
ctf_integer(int, datasync, datasync)
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
LTTNG_TRACEPOINT_EVENT(ext4_sync_file_exit,
TP_PROTO(struct inode *inode, int ret),
@@ -676,7 +561,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_sync_file_exit,
ctf_integer(int, ret, ret)
)
)
-#endif
LTTNG_TRACEPOINT_EVENT(ext4_sync_fs,
TP_PROTO(struct super_block *sb, int wait),
@@ -766,7 +650,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_mballoc_prealloc,
)
LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mballoc,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
TP_PROTO(struct super_block *sb,
struct inode *inode,
ext4_group_t group,
@@ -774,33 +657,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mballoc,
ext4_grpblk_t len),
TP_ARGS(sb, inode, group, start, len),
-#else
- TP_PROTO(struct ext4_allocation_context *ac),
-
- TP_ARGS(ac),
-#endif
TP_FIELDS(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
ctf_integer(dev_t, dev, sb->s_dev)
ctf_integer(ino_t, ino, inode ? inode->i_ino : 0)
ctf_integer(int, result_start, start)
ctf_integer(__u32, result_group, group)
ctf_integer(int, result_len, len)
-#else
- ctf_integer(dev_t, dev, ac->ac_sb->s_dev)
- ctf_integer(ino_t, ino, ac->ac_inode ? ac->ac_inode->i_ino : 0)
- ctf_integer(__u32, result_logical, ac->ac_b_ex.fe_logical)
- ctf_integer(int, result_start, ac->ac_b_ex.fe_start)
- ctf_integer(__u32, result_group, ac->ac_b_ex.fe_group)
- ctf_integer(int, result_len, ac->ac_b_ex.fe_len)
-#endif
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_discard,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
TP_PROTO(struct super_block *sb,
struct inode *inode,
ext4_group_t group,
@@ -808,16 +676,10 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_discard,
ext4_grpblk_t len),
TP_ARGS(sb, inode, group, start, len)
-#else
- TP_PROTO(struct ext4_allocation_context *ac),
-
- TP_ARGS(ac)
-#endif
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_free,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
TP_PROTO(struct super_block *sb,
struct inode *inode,
ext4_group_t group,
@@ -825,14 +687,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_free,
ext4_grpblk_t len),
TP_ARGS(sb, inode, group, start, len)
-#else
- TP_PROTO(struct ext4_allocation_context *ac),
-
- TP_ARGS(ac)
-#endif
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
LTTNG_TRACEPOINT_EVENT(ext4_forget,
TP_PROTO(struct inode *inode, int is_metadata, __u64 block),
@@ -846,7 +702,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_forget,
ctf_integer(TP_MODE_T, mode, inode->i_mode)
)
)
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0))
LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
@@ -886,7 +741,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
ctf_integer(TP_MODE_T, mode, inode->i_mode)
)
)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
+#else
LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
TP_PROTO(struct inode *inode, int used_blocks),
@@ -940,7 +795,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space,
ctf_integer(TP_MODE_T, mode, inode->i_mode)
)
)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
+#else
LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space,
TP_PROTO(struct inode *inode, int md_needed),
@@ -976,7 +831,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_release_space,
ctf_integer(TP_MODE_T, mode, inode->i_mode)
)
)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
+#else
LTTNG_TRACEPOINT_EVENT(ext4_da_release_space,
TP_PROTO(struct inode *inode, int freed_blocks),
@@ -998,7 +853,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_da_release_space,
)
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
LTTNG_TRACEPOINT_EVENT_CLASS(ext4__bitmap_load,
TP_PROTO(struct super_block *sb, unsigned long group),
@@ -1023,9 +877,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,
TP_ARGS(sb, group)
)
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load,
TP_PROTO(struct super_block *sb, unsigned long group),
@@ -1402,7 +1254,6 @@ LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
ctf_integer(ino_t, ino, inode->i_ino)
)
)
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
diff --git a/instrumentation/events/lttng-module/irq.h b/instrumentation/events/lttng-module/irq.h
index 6f66a5e..71553e6 100644
--- a/instrumentation/events/lttng-module/irq.h
+++ b/instrumentation/events/lttng-module/irq.h
@@ -61,7 +61,6 @@ LTTNG_TRACEPOINT_EVENT(irq_handler_exit,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT_CLASS(irq_softirq,
TP_PROTO(unsigned int vec_nr),
@@ -120,69 +119,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_raise,
TP_ARGS(vec_nr)
)
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
-LTTNG_TRACEPOINT_EVENT_CLASS(irq_softirq,
-
- TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
-
- TP_ARGS(h, vec),
-
- TP_FIELDS(
- ctf_integer(unsigned int, vec, (int)(h - vec))
- )
-)
-
-/**
- * softirq_entry - called immediately before the softirq handler
- * @h: pointer to struct softirq_action
- * @vec: pointer to first struct softirq_action in softirq_vec array
- *
- * When used in combination with the softirq_exit tracepoint
- * we can determine the softirq handler runtine.
- */
-LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_entry,
-
- irq_softirq_entry,
-
- TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
-
- TP_ARGS(h, vec)
-)
-
-/**
- * softirq_exit - called immediately after the softirq handler returns
- * @h: pointer to struct softirq_action
- * @vec: pointer to first struct softirq_action in softirq_vec array
- *
- * When used in combination with the softirq_entry tracepoint
- * we can determine the softirq handler runtine.
- */
-LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_exit,
-
- irq_softirq_exit,
-
- TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
-
- TP_ARGS(h, vec)
-)
-
-/**
- * softirq_raise - called immediately when a softirq is raised
- * @h: pointer to struct softirq_action
- * @vec: pointer to first struct softirq_action in softirq_vec array
- *
- * When used in combination with the softirq_entry tracepoint
- * we can determine the softirq raise to run latency.
- */
-LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_raise,
-
- irq_softirq_raise,
-
- TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
-
- TP_ARGS(h, vec)
-)
-#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
#endif /* LTTNG_TRACE_IRQ_H */
diff --git a/instrumentation/events/lttng-module/jbd2.h b/instrumentation/events/lttng-module/jbd2.h
index 10e3073..a760da2 100644
--- a/instrumentation/events/lttng-module/jbd2.h
+++ b/instrumentation/events/lttng-module/jbd2.h
@@ -9,13 +9,11 @@
#include <linux/jbd2.h>
#include <linux/version.h>
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
#ifndef _TRACE_JBD2_DEF
#define _TRACE_JBD2_DEF
struct transaction_chp_stats_s;
struct transaction_run_stats_s;
#endif
-#endif
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint,
@@ -103,7 +101,6 @@ LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
TP_PROTO(dev_t dev, unsigned long tid,
struct transaction_run_stats_s *stats),
@@ -139,9 +136,7 @@ LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
ctf_integer(__u32, dropped, stats->cs_dropped)
)
)
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail,
#else
@@ -161,7 +156,6 @@ LTTNG_TRACEPOINT_EVENT(jbd2_cleanup_journal_tail,
ctf_integer(unsigned long, freed, freed)
)
)
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
diff --git a/instrumentation/events/lttng-module/kmem.h b/instrumentation/events/lttng-module/kmem.h
index 8270fce..2313ae8 100644
--- a/instrumentation/events/lttng-module/kmem.h
+++ b/instrumentation/events/lttng-module/kmem.h
@@ -115,7 +115,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_free, kmem_cache_free,
TP_ARGS(call_site, ptr)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free,
#else
@@ -218,11 +217,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_pcpu_drain,
kmem_mm_page_pcpu_drain,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
TP_PROTO(struct page *page, unsigned int order, int migratetype),
-#else
- TP_PROTO(struct page *page, int order, int migratetype),
-#endif
TP_ARGS(page, order, migratetype)
)
@@ -337,8 +332,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag,
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
-#endif
-
#endif /* LTTNG_TRACE_KMEM_H */
/* This part must be outside protection */
diff --git a/instrumentation/events/lttng-module/kvm.h b/instrumentation/events/lttng-module/kvm.h
index 62030fc..4868d89 100644
--- a/instrumentation/events/lttng-module/kvm.h
+++ b/instrumentation/events/lttng-module/kvm.h
@@ -8,8 +8,6 @@
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kvm
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
-
LTTNG_TRACEPOINT_EVENT(kvm_userspace_exit,
TP_PROTO(__u32 reason, int errno),
TP_ARGS(reason, errno),
@@ -19,7 +17,6 @@ LTTNG_TRACEPOINT_EVENT(kvm_userspace_exit,
ctf_integer(int, errno, errno)
)
)
-#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
#if defined(__KVM_HAVE_IOAPIC)
@@ -142,8 +139,6 @@ LTTNG_TRACEPOINT_EVENT(kvm_mmio,
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
-
#define kvm_fpu_load_symbol \
{0, "unload"}, \
{1, "load"}
@@ -187,9 +182,6 @@ LTTNG_TRACEPOINT_EVENT(kvm_age_page,
)
)
#endif
-#endif
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
#ifdef CONFIG_KVM_ASYNC_PF
LTTNG_TRACEPOINT_EVENT_CLASS(kvm_async_get_page_class,
@@ -276,8 +268,6 @@ LTTNG_TRACEPOINT_EVENT(
#endif
-#endif
-
#endif /* LTTNG_TRACE_KVM_MAIN_H */
/* This part must be outside protection */
diff --git a/instrumentation/events/lttng-module/lock.h b/instrumentation/events/lttng-module/lock.h
index 49e7811..c8cdc55 100644
--- a/instrumentation/events/lttng-module/lock.h
+++ b/instrumentation/events/lttng-module/lock.h
@@ -1,16 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
-#include <linux/version.h>
#undef TRACE_SYSTEM
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
#define TRACE_SYSTEM lock
-#else
-#define TRACE_SYSTEM lockdep
-#define TRACE_INCLUDE_FILE lock
-#if defined(_TRACE_LOCKDEP_H)
-#define LTTNG_TRACE_LOCK_H
-#endif
-#endif
#if !defined(LTTNG_TRACE_LOCK_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_LOCK_H
@@ -31,14 +22,10 @@ LTTNG_TRACEPOINT_EVENT(lock_acquire,
TP_FIELDS(
ctf_integer(unsigned int, flags, (trylock ? 1 : 0) | (read ? 2 : 0))
ctf_string(name, lock->name)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
ctf_integer_hex(void *, lockdep_addr, lock)
-#endif
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
-
LTTNG_TRACEPOINT_EVENT_CLASS(lock,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
@@ -74,63 +61,9 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(lock, lock_acquired,
TP_ARGS(lock, ip)
)
-#endif
-
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
-
-LTTNG_TRACEPOINT_EVENT(lock_release,
-
- TP_PROTO(struct lockdep_map *lock, int nested, unsigned long ip),
-
- TP_ARGS(lock, nested, ip),
-
- TP_FIELDS(
- ctf_string(name, lock->name)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
- ctf_integer_hex(void *, lockdep_addr, lock)
-#endif
- )
-)
-
-#ifdef CONFIG_LOCK_STAT
-
-LTTNG_TRACEPOINT_EVENT(lock_contended,
-
- TP_PROTO(struct lockdep_map *lock, unsigned long ip),
-
- TP_ARGS(lock, ip),
-
- TP_FIELDS(
- ctf_string(name, lock->name)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
- ctf_integer_hex(void *, lockdep_addr, lock)
-#endif
- )
-)
-
-LTTNG_TRACEPOINT_EVENT(lock_acquired,
-
- TP_PROTO(struct lockdep_map *lock, unsigned long ip, s64 waittime),
-
- TP_ARGS(lock, ip, waittime),
-
- TP_FIELDS(
- ctf_string(name, lock->name)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
- ctf_integer(s64, wait_nsec, wait_nsec)
- ctf_integer_hex(void *, lockdep_addr, lock)
-#else
- ctf_integer(unsigned long, wait_usec, (unsigned long) waittime)
- ctf_integer(unsigned long, wait_nsec_rem, do_div(waittime, NSEC_PER_USEC))
-#endif
- )
-)
-
-#endif
-
-#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
+#endif /* CONFIG_LOCK_STAT */
-#endif
+#endif /* CONFIG_LOCKDEP */
#endif /* LTTNG_TRACE_LOCK_H */
diff --git a/instrumentation/events/lttng-module/mm_vmscan.h b/instrumentation/events/lttng-module/mm_vmscan.h
index b9cd8b0..cc7a275 100644
--- a/instrumentation/events/lttng-module/mm_vmscan.h
+++ b/instrumentation/events/lttng-module/mm_vmscan.h
@@ -640,7 +640,7 @@ LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
)
)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+#else
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(int nid, int zid,
diff --git a/instrumentation/events/lttng-module/module.h b/instrumentation/events/lttng-module/module.h
index febe8d2..89b1e79 100644
--- a/instrumentation/events/lttng-module/module.h
+++ b/instrumentation/events/lttng-module/module.h
@@ -54,24 +54,16 @@ LTTNG_TRACEPOINT_EVENT(module_free,
LTTNG_TRACEPOINT_EVENT_CLASS(module_refcnt,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct module *mod, unsigned long ip),
TP_ARGS(mod, ip),
-#else
- TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
-
- TP_ARGS(mod, ip, refcnt),
-#endif
TP_FIELDS(
ctf_integer(unsigned long, ip, ip)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
ctf_integer(int, refcnt, atomic_read(&mod->refcnt))
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
- ctf_integer(int, refcnt, __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs))
#else
- ctf_integer(int, refcnt, refcnt)
+ ctf_integer(int, refcnt, __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs))
#endif
ctf_string(name, mod->name)
)
@@ -79,28 +71,16 @@ LTTNG_TRACEPOINT_EVENT_CLASS(module_refcnt,
LTTNG_TRACEPOINT_EVENT_INSTANCE(module_refcnt, module_get,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct module *mod, unsigned long ip),
TP_ARGS(mod, ip)
-#else
- TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
-
- TP_ARGS(mod, ip, refcnt)
-#endif
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(module_refcnt, module_put,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct module *mod, unsigned long ip),
TP_ARGS(mod, ip)
-#else
- TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
-
- TP_ARGS(mod, ip, refcnt)
-#endif
)
#endif /* CONFIG_MODULE_UNLOAD */
diff --git a/instrumentation/events/lttng-module/net.h b/instrumentation/events/lttng-module/net.h
index 8789263..bfa14fc 100644
--- a/instrumentation/events/lttng-module/net.h
+++ b/instrumentation/events/lttng-module/net.h
@@ -439,30 +439,18 @@ LTTNG_TRACEPOINT_ENUM(net_network_header,
LTTNG_TRACEPOINT_EVENT(net_dev_xmit,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
TP_PROTO(struct sk_buff *skb,
int rc,
struct net_device *dev,
unsigned int skb_len),
TP_ARGS(skb, rc, dev, skb_len),
-#else
- TP_PROTO(struct sk_buff *skb,
- int rc),
-
- TP_ARGS(skb, rc),
-#endif
TP_FIELDS(
ctf_integer_hex(void *, skbaddr, skb)
ctf_integer(int, rc, rc)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
ctf_integer(unsigned int, len, skb_len)
ctf_string(name, dev->name)
-#else
- ctf_integer(unsigned int, len, skb->len)
- ctf_string(name, skb->dev->name)
-#endif
)
)
diff --git a/instrumentation/events/lttng-module/power.h b/instrumentation/events/lttng-module/power.h
index 2146a37..fee6f5f 100644
--- a/instrumentation/events/lttng-module/power.h
+++ b/instrumentation/events/lttng-module/power.h
@@ -9,7 +9,6 @@
#include <linux/ktime.h>
#include <linux/version.h>
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
LTTNG_TRACEPOINT_EVENT_CLASS(power_cpu,
TP_PROTO(unsigned int state, unsigned int cpu_id),
@@ -59,7 +58,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(machine_suspend,
ctf_integer(u32, state, state)
)
)
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_CLASS(power_wakeup_source,
@@ -93,12 +91,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_wakeup_source, wakeup_source_deactivat
)
#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38))
-#undef CONFIG_EVENT_POWER_TRACING_DEPRECATED
-#define CONFIG_EVENT_POWER_TRACING_DEPRECATED
-#define _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED
-#endif
-
#ifdef CONFIG_EVENT_POWER_TRACING_DEPRECATED
/*
@@ -107,69 +99,39 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_wakeup_source, wakeup_source_deactivat
*/
LTTNG_TRACEPOINT_EVENT_CLASS(power,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
TP_ARGS(type, state, cpu_id),
-#else
- TP_PROTO(unsigned int type, unsigned int state),
-
- TP_ARGS(type, state),
-#endif
TP_FIELDS(
ctf_integer(u64, type, type)
ctf_integer(u64, state, state)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
ctf_integer(u64, cpu_id, cpu_id)
-#endif
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(power, power_start,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
TP_ARGS(type, state, cpu_id)
-#else
- TP_PROTO(unsigned int type, unsigned int state),
-
- TP_ARGS(type, state)
-#endif
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(power, power_frequency,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
TP_ARGS(type, state, cpu_id)
-#else
- TP_PROTO(unsigned int type, unsigned int state),
-
- TP_ARGS(type, state)
-#endif
)
LTTNG_TRACEPOINT_EVENT(power_end,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int cpu_id),
TP_ARGS(cpu_id),
-#else
- TP_PROTO(int dummy),
-
- TP_ARGS(dummy),
-#endif
TP_FIELDS(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
ctf_integer(u64, cpu_id, cpu_id)
-#else
- ctf_integer(u64, dummy, 0xffff)
-#endif
)
)
@@ -207,7 +169,6 @@ static inline void trace_power_frequency(u64 type, u64 state, u64 cpuid) {};
#endif /* CONFIG_EVENT_POWER_TRACING_DEPRECATED */
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
/*
* The clock events are used for clock enable/disable and for
* clock rate change
@@ -274,7 +235,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(power_domain, power_domain_target,
TP_ARGS(name, state, cpu_id)
)
-#endif
#endif /* LTTNG_TRACE_POWER_H */
diff --git a/instrumentation/events/lttng-module/sched.h b/instrumentation/events/lttng-module/sched.h
index 550ce2f..77d77b2 100644
--- a/instrumentation/events/lttng-module/sched.h
+++ b/instrumentation/events/lttng-module/sched.h
@@ -93,7 +93,7 @@ static inline long __trace_sched_switch_state(struct task_struct *p)
return state;
}
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+#else
static inline long __trace_sched_switch_state(struct task_struct *p)
{
@@ -170,24 +170,16 @@ LTTNG_TRACEPOINT_EVENT_CLASS(sched_wakeup_template,
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
LTTNG_TRACEPOINT_EVENT_CLASS(sched_wakeup_template,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct task_struct *p, int success),
TP_ARGS(p, success),
-#else
- TP_PROTO(struct rq *rq, struct task_struct *p, int success),
-
- TP_ARGS(rq, p, success),
-#endif
TP_FIELDS(
ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, p->pid)
ctf_integer(int, prio, p->prio - MAX_RT_PRIO)
ctf_integer(int, success, success)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
ctf_integer(int, target_cpu, task_cpu(p))
-#endif
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
@@ -224,7 +216,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup_new,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+#else
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup,
TP_PROTO(struct task_struct *p, int success),
@@ -237,20 +229,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup_new,
TP_PROTO(struct task_struct *p, int success),
TP_ARGS(p, success))
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
-
-LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup,
- TP_PROTO(struct rq *rq, struct task_struct *p, int success),
- TP_ARGS(rq, p, success))
-
-/*
- * Tracepoint for waking up a new task:
- */
-LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup_new,
- TP_PROTO(struct rq *rq, struct task_struct *p, int success),
- TP_ARGS(rq, p, success))
-
-#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
+#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
/*
* Tracepoint for task switches, performed by the scheduler:
@@ -263,17 +242,12 @@ LTTNG_TRACEPOINT_EVENT(sched_switch,
struct task_struct *next),
TP_ARGS(preempt, prev, next),
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+#else
TP_PROTO(struct task_struct *prev,
struct task_struct *next),
TP_ARGS(prev, next),
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
- TP_PROTO(struct rq *rq, struct task_struct *prev,
- struct task_struct *next),
-
- TP_ARGS(rq, prev, next),
-#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
+#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)) */
TP_FIELDS(
ctf_array_text(char, prev_comm, prev->comm, TASK_COMM_LEN)
@@ -281,10 +255,8 @@ LTTNG_TRACEPOINT_EVENT(sched_switch,
ctf_integer(int, prev_prio, prev->prio - MAX_RT_PRIO)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0))
ctf_integer(long, prev_state, __trace_sched_switch_state(preempt, prev))
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
- ctf_integer(long, prev_state, __trace_sched_switch_state(prev))
#else
- ctf_integer(long, prev_state, prev->state)
+ ctf_integer(long, prev_state, __trace_sched_switch_state(prev))
#endif
ctf_array_text(char, next_comm, next->comm, TASK_COMM_LEN)
ctf_integer(pid_t, next_tid, next->pid)
@@ -341,15 +313,9 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_process_exit,
/*
* Tracepoint for waiting on task to unschedule:
*/
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_wait_task,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
-LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_wait_task,
- TP_PROTO(struct rq *rq, struct task_struct *p),
- TP_ARGS(rq, p))
-#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
/*
* Tracepoint for a waiting task:
@@ -445,24 +411,6 @@ LTTNG_TRACEPOINT_EVENT_CODE(sched_process_fork,
TP_code_post()
)
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
-/*
- * Tracepoint for sending a signal:
- */
-LTTNG_TRACEPOINT_EVENT(sched_signal_send,
-
- TP_PROTO(int sig, struct task_struct *p),
-
- TP_ARGS(sig, p),
-
- TP_FIELDS(
- ctf_integer(int, sig, sig)
- ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
- ctf_integer(pid_t, tid, p->pid)
- )
-)
-#endif
-
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
/*
* Tracepoint for exec:
@@ -482,7 +430,6 @@ LTTNG_TRACEPOINT_EVENT(sched_process_exec,
)
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
/*
* XXX the below sched_stat tracepoints only apply to SCHED_OTHER/BATCH/IDLE
* adding sched_stat support to SCHED_FIFO/RR would be welcome.
@@ -551,7 +498,6 @@ LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
ctf_integer(u64, vruntime, vruntime)
)
)
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0) || \
LTTNG_RT_KERNEL_RANGE(4,9,27,18, 4,10,0,0) || \
@@ -573,7 +519,7 @@ LTTNG_TRACEPOINT_EVENT(sched_pi_setprio,
ctf_integer(int, newprio, pi_task ? pi_task->prio - MAX_RT_PRIO : tsk->prio - MAX_RT_PRIO)
)
)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+#else
/*
* Tracepoint for showing priority inheritance modifying a tasks
* priority.
diff --git a/instrumentation/events/lttng-module/scsi.h b/instrumentation/events/lttng-module/scsi.h
index 97ee050..7882def 100644
--- a/instrumentation/events/lttng-module/scsi.h
+++ b/instrumentation/events/lttng-module/scsi.h
@@ -388,7 +388,6 @@
scsi_statusbyte_name(SAM_STAT_ACA_ACTIVE), \
scsi_statusbyte_name(SAM_STAT_TASK_ABORTED))
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
#define scsi_prot_op_name(result) { result, #result }
#define show_prot_op_name(val) \
__print_symbolic(val, \
@@ -399,7 +398,6 @@
scsi_prot_op_name(SCSI_PROT_WRITE_INSERT), \
scsi_prot_op_name(SCSI_PROT_READ_PASS), \
scsi_prot_op_name(SCSI_PROT_WRITE_PASS))
-#endif
const char *scsi_trace_parse_cdb(struct trace_seq*, unsigned char*, int);
#define __parse_cdb(cdb, len) scsi_trace_parse_cdb(p, cdb, len)
@@ -420,9 +418,7 @@ LTTNG_TRACEPOINT_EVENT(scsi_dispatch_cmd_start,
ctf_integer(unsigned int, cmd_len, cmd->cmd_len)
ctf_integer(unsigned int, data_sglen, scsi_sg_count(cmd))
ctf_integer(unsigned int, prot_sglen, scsi_prot_sg_count(cmd))
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(unsigned char, prot_op, scsi_get_prot_op(cmd))
-#endif
ctf_sequence_hex(unsigned char, cmnd, cmd->cmnd, u32, cmd->cmd_len)
)
)
@@ -443,9 +439,7 @@ LTTNG_TRACEPOINT_EVENT(scsi_dispatch_cmd_error,
ctf_integer(unsigned int, cmd_len, cmd->cmd_len)
ctf_integer(unsigned int, data_sglen, scsi_sg_count(cmd))
ctf_integer(unsigned int, prot_sglen, scsi_prot_sg_count(cmd))
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(unsigned char, prot_op, scsi_get_prot_op(cmd))
-#endif
ctf_sequence_hex(unsigned char, cmnd, cmd->cmnd, u32, cmd->cmd_len)
)
)
@@ -466,9 +460,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(scsi_cmd_done_timeout_template,
ctf_integer(unsigned int, cmd_len, cmd->cmd_len)
ctf_integer(unsigned int, data_sglen, scsi_sg_count(cmd))
ctf_integer(unsigned int, prot_sglen, scsi_prot_sg_count(cmd))
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(unsigned char, prot_op, scsi_get_prot_op(cmd))
-#endif
ctf_sequence_hex(unsigned char, cmnd, cmd->cmnd, u32, cmd->cmd_len)
)
)
diff --git a/instrumentation/events/lttng-module/skb.h b/instrumentation/events/lttng-module/skb.h
index 6d3fd45..1726b44 100644
--- a/instrumentation/events/lttng-module/skb.h
+++ b/instrumentation/events/lttng-module/skb.h
@@ -28,7 +28,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
skb_consume,
@@ -41,9 +40,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
ctf_integer_hex(void *, skbaddr, skb)
)
)
-#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec,
TP_PROTO(const struct sk_buff *skb, int len),
@@ -55,7 +52,6 @@ LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec,
ctf_integer(int, len, len)
)
)
-#endif
#endif /* LTTNG_TRACE_SKB_H */
diff --git a/instrumentation/events/lttng-module/workqueue.h b/instrumentation/events/lttng-module/workqueue.h
index 07d6a53..e0ef917 100644
--- a/instrumentation/events/lttng-module/workqueue.h
+++ b/instrumentation/events/lttng-module/workqueue.h
@@ -9,8 +9,6 @@
#include <linux/workqueue.h>
#include <linux/version.h>
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
-
#ifndef _TRACE_WORKQUEUE_DEF_
#define _TRACE_WORKQUEUE_DEF_
@@ -30,7 +28,6 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work,
)
)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
/**
* workqueue_queue_work - called when a work gets queued
* @req_cpu: the requested cpu
@@ -76,7 +73,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_activate_work,
TP_ARGS(work)
)
-#endif
/**
* workqueue_execute_start - called immediately before the workqueue callback
@@ -109,63 +105,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_execute_end,
TP_ARGS(work)
)
-#else
-
-LTTNG_TRACEPOINT_EVENT_CLASS(workqueue,
-
- TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),
-
- TP_ARGS(wq_thread, work),
-
- TP_FIELDS(
- ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN)
- ctf_integer(pid_t, thread_pid, wq_thread->pid)
- ctf_integer_hex(work_func_t, func, work->func)
- )
-)
-
-LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue, workqueue_insertion,
-
- TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),
-
- TP_ARGS(wq_thread, work)
-)
-
-LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue, workqueue_execution,
-
- TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),
-
- TP_ARGS(wq_thread, work)
-)
-
-/* Trace the creation of one workqueue thread on a cpu */
-LTTNG_TRACEPOINT_EVENT(workqueue_creation,
-
- TP_PROTO(struct task_struct *wq_thread, int cpu),
-
- TP_ARGS(wq_thread, cpu),
-
- TP_FIELDS(
- ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN)
- ctf_integer(pid_t, thread_pid, wq_thread->pid)
- ctf_integer(int, cpu, cpu)
- )
-)
-
-LTTNG_TRACEPOINT_EVENT(workqueue_destruction,
-
- TP_PROTO(struct task_struct *wq_thread),
-
- TP_ARGS(wq_thread),
-
- TP_FIELDS(
- ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN)
- ctf_integer(pid_t, thread_pid, wq_thread->pid)
- )
-)
-
-#endif
-
#endif /* LTTNG_TRACE_WORKQUEUE_H */
/* This part must be outside protection */
diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
index 3327a0f..feef945 100644
--- a/instrumentation/events/lttng-module/writeback.h
+++ b/instrumentation/events/lttng-module/writeback.h
@@ -308,9 +308,7 @@ DEFINE_WRITEBACK_EVENT(writeback_bdi_register)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
DEFINE_WRITEBACK_EVENT(writeback_nowork)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
DEFINE_WRITEBACK_EVENT(writeback_wake_background)
-#endif
DEFINE_WRITEBACK_EVENT(writeback_wake_thread)
DEFINE_WRITEBACK_EVENT(writeback_wake_forker_thread)
DEFINE_WRITEBACK_EVENT(writeback_bdi_unregister)
@@ -661,7 +659,6 @@ LTTNG_TRACEPOINT_EVENT(writeback_sb_inodes_requeue,
)
#endif
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_congest_waited_template,
TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed),
@@ -687,7 +684,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_congest_waited_template, writeback_wai
TP_ARGS(usec_timeout, usec_delayed)
)
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_single_inode_template,
diff --git a/lib/bug.h b/lib/bug.h
index 8ddf2b0..0f3b30b 100644
--- a/lib/bug.h
+++ b/lib/bug.h
@@ -8,14 +8,6 @@
#ifndef _LTTNG_BUG_H
#define _LTTNG_BUG_H
-#include <linux/version.h>
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
-#define LTTNG_BUILD_BUG_ON(cond) BUILD_BUG_ON(cond)
-#else
-#define LTTNG_BUILD_BUG_ON(cond) MAYBE_BUILD_BUG_ON(cond)
-#endif
-
/**
* BUILD_RUNTIME_BUG_ON - check condition at build (if constant) or runtime
* @condition: the condition which should be false.
@@ -28,7 +20,7 @@
#define BUILD_RUNTIME_BUG_ON(condition) \
do { \
if (__builtin_constant_p(condition)) \
- LTTNG_BUILD_BUG_ON(condition); \
+ BUILD_BUG_ON(condition); \
else \
BUG_ON(condition); \
} while (0)
diff --git a/lib/ringbuffer/frontend_types.h b/lib/ringbuffer/frontend_types.h
index 2b0c932..837a926 100644
--- a/lib/ringbuffer/frontend_types.h
+++ b/lib/ringbuffer/frontend_types.h
@@ -15,7 +15,6 @@
#include <linux/kref.h>
#include <wrapper/ringbuffer/config.h>
#include <wrapper/ringbuffer/backend_types.h>
-#include <wrapper/spinlock.h>
#include <lib/prio_heap/lttng_prio_heap.h> /* For per-CPU read-side iterator */
#include <lttng-cpuhotplug.h>
diff --git a/linux-patches/backport-kallsym-sym-2.6.32.patch b/linux-patches/backport-kallsym-sym-2.6.32.patch
deleted file mode 100644
index 2e72124..0000000
--- a/linux-patches/backport-kallsym-sym-2.6.32.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-commit e6b48d720e39d17f06a4462be4164e1a358817de
-Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-Date: Sat Sep 1 17:51:33 2012 -0700
-
- kallsyms: Re-enable export of kallsyms_lookup (backport)
-
- Backport of part of commit:
-
- commit f60d24d2ad04977b0bd9e3eb35dba2d2fa569af9
- Author: Frederic Weisbecker <fweisbec at gmail.com>
- Date: Tue Nov 10 10:17:07 2009 +0100
-
- hw-breakpoints: Fix broken hw-breakpoint sample module
-
- The hw-breakpoint sample module has been broken during the
- hw-breakpoint internals refactoring. Propagate the changes
- to it.
-
- Reported-by: "K. Prasad" <prasad at linux.vnet.ibm.com>
- Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
-
- for kernel 2.6.32.x. (just the symbol export)
-
- Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-
-diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
-index 8b6b8b6..8e5288a 100644
---- a/kernel/kallsyms.c
-+++ b/kernel/kallsyms.c
-@@ -181,6 +181,7 @@ unsigned long kallsyms_lookup_name(const char *name)
- }
- return module_kallsyms_lookup_name(name);
- }
-+EXPORT_SYMBOL_GPL(kallsyms_lookup_name);
-
- int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *,
- unsigned long),
diff --git a/linux-patches/backport-splice-sym-2.6.32-34.patch b/linux-patches/backport-splice-sym-2.6.32-34.patch
deleted file mode 100644
index 00be3b5..0000000
--- a/linux-patches/backport-splice-sym-2.6.32-34.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-commit f0d902f497ee2fb747086322a31925c7fb351d7a
-Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-Date: Sat Sep 1 17:47:36 2012 -0700
-
- mm: export generic_pipe_buf_*() to modules (backport)
-
- Backport for 2.6.32.x to 2.6.34.x of commits:
-
- commit 51921cb746f56983db5a373ca68deb2b0d3ddf01
- Author: Miklos Szeredi <mszeredi at suse.cz>
- Date: Wed May 26 08:44:22 2010 +0200
-
- mm: export generic_pipe_buf_*() to modules
-
- This is needed by fuse device code which wants to create pipe buffers.
- Signed-off-by: Miklos Szeredi <mszeredi at suse.cz>
-
- Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-
-diff --git a/fs/pipe.c b/fs/pipe.c
-index d0cc080..0eb6f53 100644
---- a/fs/pipe.c
-+++ b/fs/pipe.c
-@@ -222,6 +222,7 @@ void *generic_pipe_buf_map(struct pipe_inode_info *pipe,
-
- return kmap(buf->page);
- }
-+EXPORT_SYMBOL(generic_pipe_buf_map);
-
- /**
- * generic_pipe_buf_unmap - unmap a previously mapped pipe buffer
-@@ -241,6 +242,7 @@ void generic_pipe_buf_unmap(struct pipe_inode_info *pipe,
- } else
- kunmap(buf->page);
- }
-+EXPORT_SYMBOL(generic_pipe_buf_unmap);
-
- /**
- * generic_pipe_buf_steal - attempt to take ownership of a &pipe_buffer
-@@ -271,6 +273,7 @@ int generic_pipe_buf_steal(struct pipe_inode_info *pipe,
-
- return 1;
- }
-+EXPORT_SYMBOL(generic_pipe_buf_steal);
-
- /**
- * generic_pipe_buf_get - get a reference to a &struct pipe_buffer
-@@ -286,6 +289,7 @@ void generic_pipe_buf_get(struct pipe_inode_info *pipe, struct pipe_buffer *buf)
- {
- page_cache_get(buf->page);
- }
-+EXPORT_SYMBOL(generic_pipe_buf_get);
-
- /**
- * generic_pipe_buf_confirm - verify contents of the pipe buffer
-@@ -301,6 +305,7 @@ int generic_pipe_buf_confirm(struct pipe_inode_info *info,
- {
- return 0;
- }
-+EXPORT_SYMBOL(generic_pipe_buf_confirm);
-
- /**
- * generic_pipe_buf_release - put a reference to a &struct pipe_buffer
-@@ -315,6 +320,7 @@ void generic_pipe_buf_release(struct pipe_inode_info *pipe,
- {
- page_cache_release(buf->page);
- }
-+EXPORT_SYMBOL(generic_pipe_buf_release);
-
- static const struct pipe_buf_operations anon_pipe_buf_ops = {
- .can_merge = 1,
diff --git a/linux-patches/backport-tp-2.6.34-tracepoint-data.patch b/linux-patches/backport-tp-2.6.34-tracepoint-data.patch
deleted file mode 100644
index 0ffd7e1..0000000
--- a/linux-patches/backport-tp-2.6.34-tracepoint-data.patch
+++ /dev/null
@@ -1,559 +0,0 @@
-commit 2c2a566b64b4254c530fb0c2222b30e8a739bac9
-Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-Date: Sat Sep 1 17:45:09 2012 -0700
-
- tracing: Let tracepoints have data passed to tracepoint callbacks (backport)
-
- Backport of commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e for
- 2.6.34.x. Keeping kABI compatibility.
-
- Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-
----
- include/linux/tracepoint.h | 149 +++++++++++++++++++++++++--------
- kernel/tracepoint.c | 144 ++++++++++++++++++++++---------
- samples/tracepoints/tp-samples-trace.h | 4 +-
- 3 files changed, 220 insertions(+), 77 deletions(-)
-
-Index: linux/include/linux/tracepoint.h
-===================================================================
---- linux.orig/include/linux/tracepoint.h
-+++ linux/include/linux/tracepoint.h
-@@ -20,12 +20,20 @@
- struct module;
- struct tracepoint;
-
-+#define HAVE_KABI_2635_TRACEPOINT
-+
-+struct tracepoint_func {
-+ void *func;
-+ void *data;
-+ bool kabi_2635;
-+};
-+
- struct tracepoint {
- const char *name; /* Tracepoint name */
- int state; /* State. */
- void (*regfunc)(void);
- void (*unregfunc)(void);
-- void **funcs;
-+ struct tracepoint_func *funcs;
- } __attribute__((aligned(32))); /*
- * Aligned on 32 bytes because it is
- * globally visible and gcc happily
-@@ -43,17 +51,33 @@ struct tracepoint {
- /*
- * it_func[0] is never NULL because there is at least one element in the array
- * when the array itself is non NULL.
-- */
--#define __DO_TRACE(tp, proto, args) \
-- do { \
-- void **it_func; \
-+ *
-+ * Note, the proto and args passed in includes "__data" as the first parameter.
-+ * The reason for this is to handle the "void" prototype. If a tracepoint
-+ * has a "void" prototype, then it is invalid to declare a function
-+ * as "(void *, void)". The DECLARE_TRACE_NOARGS() will pass in just
-+ * "void *data", where as the DECLARE_TRACE() will pass in "void *data, proto".
-+ */
-+#define __DO_TRACE(tp, data_proto, data_args, proto, args) \
-+ do { \
-+ struct tracepoint_func *it_func_ptr; \
-+ void *it_func; \
-+ \
-+ rcu_read_lock_sched_notrace(); \
-+ it_func_ptr = rcu_dereference_sched((tp)->funcs); \
-+ if (it_func_ptr) { \
-+ do { \
-+ if (it_func_ptr->kabi_2635) { \
-+ void *__data; \
- \
-- rcu_read_lock_sched_notrace(); \
-- it_func = rcu_dereference_sched((tp)->funcs); \
-- if (it_func) { \
-- do { \
-- ((void(*)(proto))(*it_func))(args); \
-- } while (*(++it_func)); \
-+ it_func = (it_func_ptr)->func; \
-+ __data = (it_func_ptr)->data; \
-+ ((void(*)(data_proto))(it_func))(data_args); \
-+ } else { \
-+ it_func = (it_func_ptr)->func; \
-+ ((void(*)(proto))(it_func))(args); \
-+ } \
-+ } while ((++it_func_ptr)->func); \
- } \
- rcu_read_unlock_sched_notrace(); \
- } while (0)
-@@ -63,22 +87,39 @@ struct tracepoint {
- * not add unwanted padding between the beginning of the section and the
- * structure. Force alignment to the same alignment as the section start.
- */
--#define DECLARE_TRACE(name, proto, args) \
-+#define __DECLARE_TRACE(name, proto, args, data_proto, data_args) \
- extern struct tracepoint __tracepoint_##name; \
- static inline void trace_##name(proto) \
- { \
- if (unlikely(__tracepoint_##name.state)) \
- __DO_TRACE(&__tracepoint_##name, \
-- TP_PROTO(proto), TP_ARGS(args)); \
-+ TP_PROTO(data_proto), \
-+ TP_ARGS(data_args), \
-+ TP_PROTO(proto), \
-+ TP_ARGS(args)); \
- } \
-- static inline int register_trace_##name(void (*probe)(proto)) \
-- { \
-+ static inline int \
-+ register_trace_##name(void (*probe)(proto)) \
-+ { \
- return tracepoint_probe_register(#name, (void *)probe); \
-- } \
-- static inline int unregister_trace_##name(void (*probe)(proto)) \
-- { \
-- return tracepoint_probe_unregister(#name, (void *)probe);\
-- }
-+ } \
-+ static inline int \
-+ unregister_trace_##name(void (*probe)(proto)) \
-+ { \
-+ return tracepoint_probe_unregister(#name, (void *)probe); \
-+ } \
-+ static inline int \
-+ kabi_2635_register_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return kabi_2635_tracepoint_probe_register(#name, (void *)probe, \
-+ data); \
-+ } \
-+ static inline int \
-+ kabi_2635_unregister_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return kabi_2635_tracepoint_probe_unregister(#name, (void *)probe, \
-+ data); \
-+ }
-
-
- #define DEFINE_TRACE_FN(name, reg, unreg) \
-@@ -100,19 +141,29 @@ extern void tracepoint_update_probe_rang
- struct tracepoint *end);
-
- #else /* !CONFIG_TRACEPOINTS */
--#define DECLARE_TRACE(name, proto, args) \
-- static inline void _do_trace_##name(struct tracepoint *tp, proto) \
-- { } \
-- static inline void trace_##name(proto) \
-- { } \
-- static inline int register_trace_##name(void (*probe)(proto)) \
-- { \
-- return -ENOSYS; \
-- } \
-- static inline int unregister_trace_##name(void (*probe)(proto)) \
-- { \
-- return -ENOSYS; \
-- }
-+#define __DECLARE_TRACE(name, proto, args, data_proto, data_args) \
-+ static inline void trace_##name(proto) \
-+ { } \
-+ static inline int \
-+ register_trace_##name(void (*probe)(proto)) \
-+ { \
-+ return -ENOSYS; \
-+ } \
-+ static inline int \
-+ unregister_trace_##name(void (*probe)(proto)) \
-+ { \
-+ return -ENOSYS; \
-+ } \
-+ static inline int \
-+ kabi_2635_register_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return -ENOSYS; \
-+ } \
-+ static inline int \
-+ kabi_2635_unregister_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return -ENOSYS; \
-+ }
-
- #define DEFINE_TRACE_FN(name, reg, unreg)
- #define DEFINE_TRACE(name)
-@@ -123,6 +174,28 @@ static inline void tracepoint_update_pro
- struct tracepoint *end)
- { }
- #endif /* CONFIG_TRACEPOINTS */
-+
-+/*
-+ * The need for the DECLARE_TRACE_NOARGS() is to handle the prototype
-+ * (void). "void" is a special value in a function prototype and can
-+ * not be combined with other arguments. Since the DECLARE_TRACE()
-+ * macro adds a data element at the beginning of the prototype,
-+ * we need a way to differentiate "(void *data, proto)" from
-+ * "(void *data, void)". The second prototype is invalid.
-+ *
-+ * DECLARE_TRACE_NOARGS() passes "void" as the tracepoint prototype
-+ * and "void *__data" as the callback prototype.
-+ *
-+ * DECLARE_TRACE() passes "proto" as the tracepoint protoype and
-+ * "void *__data, proto" as the callback prototype.
-+ */
-+#define DECLARE_TRACE_NOARGS(name) \
-+ __DECLARE_TRACE(name, void, , void *__data, __data)
-+#define DECLARE_TRACE(name, proto, args) \
-+ __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
-+ PARAMS(void *__data, proto), \
-+ PARAMS(__data, args))
-+
- #endif /* DECLARE_TRACE */
-
- /*
-@@ -130,15 +203,23 @@ static inline void tracepoint_update_pro
- * Internal API, should not be used directly.
- */
- extern int tracepoint_probe_register(const char *name, void *probe);
-+extern int kabi_2635_tracepoint_probe_register(const char *name, void *probe, void *data);
-
- /*
- * Disconnect a probe from a tracepoint.
- * Internal API, should not be used directly.
- */
--extern int tracepoint_probe_unregister(const char *name, void *probe);
-+extern int
-+tracepoint_probe_unregister(const char *name, void *probe);
-+extern int
-+kabi_2635_tracepoint_probe_unregister(const char *name, void *probe, void *data);
-
- extern int tracepoint_probe_register_noupdate(const char *name, void *probe);
-+extern int kabi_2635_tracepoint_probe_register_noupdate(const char *name, void *probe,
-+ void *data);
- extern int tracepoint_probe_unregister_noupdate(const char *name, void *probe);
-+extern int kabi_2635_tracepoint_probe_unregister_noupdate(const char *name, void *probe,
-+ void *data);
- extern void tracepoint_probe_update_all(void);
-
- struct tracepoint_iter {
-Index: linux/kernel/tracepoint.c
-===================================================================
---- linux.orig/kernel/tracepoint.c
-+++ linux/kernel/tracepoint.c
-@@ -54,7 +54,7 @@ static struct hlist_head tracepoint_tabl
- */
- struct tracepoint_entry {
- struct hlist_node hlist;
-- void **funcs;
-+ struct tracepoint_func *funcs;
- int refcount; /* Number of times armed. 0 if disarmed. */
- char name[0];
- };
-@@ -64,12 +64,12 @@ struct tp_probes {
- struct rcu_head rcu;
- struct list_head list;
- } u;
-- void *probes[0];
-+ struct tracepoint_func probes[0];
- };
-
- static inline void *allocate_probes(int count)
- {
-- struct tp_probes *p = kmalloc(count * sizeof(void *)
-+ struct tp_probes *p = kmalloc(count * sizeof(struct tracepoint_func)
- + sizeof(struct tp_probes), GFP_KERNEL);
- return p == NULL ? NULL : p->probes;
- }
-@@ -79,7 +79,7 @@ static void rcu_free_old_probes(struct r
- kfree(container_of(head, struct tp_probes, u.rcu));
- }
-
--static inline void release_probes(void *old)
-+static inline void release_probes(struct tracepoint_func *old)
- {
- if (old) {
- struct tp_probes *tp_probes = container_of(old,
-@@ -95,15 +95,16 @@ static void debug_print_probes(struct tr
- if (!tracepoint_debug || !entry->funcs)
- return;
-
-- for (i = 0; entry->funcs[i]; i++)
-- printk(KERN_DEBUG "Probe %d : %p\n", i, entry->funcs[i]);
-+ for (i = 0; entry->funcs[i].func; i++)
-+ printk(KERN_DEBUG "Probe %d : %p\n", i, entry->funcs[i].func);
- }
-
--static void *
--tracepoint_entry_add_probe(struct tracepoint_entry *entry, void *probe)
-+static struct tracepoint_func *
-+tracepoint_entry_add_probe(struct tracepoint_entry *entry,
-+ void *probe, void *data, bool kabi_2635)
- {
- int nr_probes = 0;
-- void **old, **new;
-+ struct tracepoint_func *old, *new;
-
- WARN_ON(!probe);
-
-@@ -111,8 +112,9 @@ tracepoint_entry_add_probe(struct tracep
- old = entry->funcs;
- if (old) {
- /* (N -> N+1), (N != 0, 1) probes */
-- for (nr_probes = 0; old[nr_probes]; nr_probes++)
-- if (old[nr_probes] == probe)
-+ for (nr_probes = 0; old[nr_probes].func; nr_probes++)
-+ if (old[nr_probes].func == probe &&
-+ old[nr_probes].data == data)
- return ERR_PTR(-EEXIST);
- }
- /* + 2 : one for new probe, one for NULL func */
-@@ -120,9 +122,11 @@ tracepoint_entry_add_probe(struct tracep
- if (new == NULL)
- return ERR_PTR(-ENOMEM);
- if (old)
-- memcpy(new, old, nr_probes * sizeof(void *));
-- new[nr_probes] = probe;
-- new[nr_probes + 1] = NULL;
-+ memcpy(new, old, nr_probes * sizeof(struct tracepoint_func));
-+ new[nr_probes].func = probe;
-+ new[nr_probes].data = data;
-+ new[nr_probes].kabi_2635 = kabi_2635;
-+ new[nr_probes + 1].func = NULL;
- entry->refcount = nr_probes + 1;
- entry->funcs = new;
- debug_print_probes(entry);
-@@ -130,10 +134,11 @@ tracepoint_entry_add_probe(struct tracep
- }
-
- static void *
--tracepoint_entry_remove_probe(struct tracepoint_entry *entry, void *probe)
-+tracepoint_entry_remove_probe(struct tracepoint_entry *entry,
-+ void *probe, void *data)
- {
- int nr_probes = 0, nr_del = 0, i;
-- void **old, **new;
-+ struct tracepoint_func *old, *new;
-
- old = entry->funcs;
-
-@@ -142,8 +147,10 @@ tracepoint_entry_remove_probe(struct tra
-
- debug_print_probes(entry);
- /* (N -> M), (N > 1, M >= 0) probes */
-- for (nr_probes = 0; old[nr_probes]; nr_probes++) {
-- if ((!probe || old[nr_probes] == probe))
-+ for (nr_probes = 0; old[nr_probes].func; nr_probes++) {
-+ if (!probe ||
-+ (old[nr_probes].func == probe &&
-+ old[nr_probes].data == data))
- nr_del++;
- }
-
-@@ -160,10 +167,11 @@ tracepoint_entry_remove_probe(struct tra
- new = allocate_probes(nr_probes - nr_del + 1);
- if (new == NULL)
- return ERR_PTR(-ENOMEM);
-- for (i = 0; old[i]; i++)
-- if ((probe && old[i] != probe))
-+ for (i = 0; old[i].func; i++)
-+ if (probe &&
-+ (old[i].func != probe || old[i].data != data))
- new[j++] = old[i];
-- new[nr_probes - nr_del] = NULL;
-+ new[nr_probes - nr_del].func = NULL;
- entry->refcount = nr_probes - nr_del;
- entry->funcs = new;
- }
-@@ -315,18 +323,19 @@ static void tracepoint_update_probes(voi
- module_update_tracepoints();
- }
-
--static void *tracepoint_add_probe(const char *name, void *probe)
-+static struct tracepoint_func *
-+tracepoint_add_probe(const char *name, void *probe, void *data, bool kabi_2635)
- {
- struct tracepoint_entry *entry;
-- void *old;
-+ struct tracepoint_func *old;
-
- entry = get_tracepoint(name);
- if (!entry) {
- entry = add_tracepoint(name);
- if (IS_ERR(entry))
-- return entry;
-+ return (struct tracepoint_func *)entry;
- }
-- old = tracepoint_entry_add_probe(entry, probe);
-+ old = tracepoint_entry_add_probe(entry, probe, data, kabi_2635);
- if (IS_ERR(old) && !entry->refcount)
- remove_tracepoint(entry);
- return old;
-@@ -340,12 +349,14 @@ static void *tracepoint_add_probe(const
- * Returns 0 if ok, error value on error.
- * The probe address must at least be aligned on the architecture pointer size.
- */
--int tracepoint_probe_register(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_register(const char *name, void *probe, void *data,
-+ bool kabi_2635)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_add_probe(name, probe);
-+ old = tracepoint_add_probe(name, probe, data, kabi_2635);
- mutex_unlock(&tracepoints_mutex);
- if (IS_ERR(old))
- return PTR_ERR(old);
-@@ -354,17 +365,30 @@ int tracepoint_probe_register(const char
- release_probes(old);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_register(const char *name, void *probe, void *data)
-+{
-+ return ___tracepoint_probe_register(name, probe, data, 1);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_register);
-+
-+
-+int tracepoint_probe_register(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_register(name, probe, NULL, 0);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_register);
-
--static void *tracepoint_remove_probe(const char *name, void *probe)
-+static struct tracepoint_func *
-+tracepoint_remove_probe(const char *name, void *probe, void *data)
- {
- struct tracepoint_entry *entry;
-- void *old;
-+ struct tracepoint_func *old;
-
- entry = get_tracepoint(name);
- if (!entry)
- return ERR_PTR(-ENOENT);
-- old = tracepoint_entry_remove_probe(entry, probe);
-+ old = tracepoint_entry_remove_probe(entry, probe, data);
- if (IS_ERR(old))
- return old;
- if (!entry->refcount)
-@@ -382,12 +406,13 @@ static void *tracepoint_remove_probe(con
- * itself uses stop_machine(), which insures that every preempt disabled section
- * have finished.
- */
--int tracepoint_probe_unregister(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_unregister(const char *name, void *probe, void *data)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_remove_probe(name, probe);
-+ old = tracepoint_remove_probe(name, probe, data);
- mutex_unlock(&tracepoints_mutex);
- if (IS_ERR(old))
- return PTR_ERR(old);
-@@ -396,6 +421,17 @@ int tracepoint_probe_unregister(const ch
- release_probes(old);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_unregister(const char *name, void *probe, void *data)
-+{
-+ return ___tracepoint_probe_unregister(name, probe, data);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_unregister);
-+
-+int tracepoint_probe_unregister(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_unregister(name, probe, NULL);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_unregister);
-
- static LIST_HEAD(old_probes);
-@@ -418,12 +454,14 @@ static void tracepoint_add_old_probes(vo
- *
- * caller must call tracepoint_probe_update_all()
- */
--int tracepoint_probe_register_noupdate(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_register_noupdate(const char *name, void *probe,
-+ void *data, bool kabi_2635)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_add_probe(name, probe);
-+ old = tracepoint_add_probe(name, probe, data, kabi_2635);
- if (IS_ERR(old)) {
- mutex_unlock(&tracepoints_mutex);
- return PTR_ERR(old);
-@@ -432,6 +470,18 @@ int tracepoint_probe_register_noupdate(c
- mutex_unlock(&tracepoints_mutex);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_register_noupdate(const char *name, void *probe,
-+ void *data)
-+{
-+ return ___tracepoint_probe_register_noupdate(name, probe, data, 1);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_register_noupdate);
-+
-+int tracepoint_probe_register_noupdate(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_register_noupdate(name, probe, NULL, 0);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_register_noupdate);
-
- /**
-@@ -441,12 +491,14 @@ EXPORT_SYMBOL_GPL(tracepoint_probe_regis
- *
- * caller must call tracepoint_probe_update_all()
- */
--int tracepoint_probe_unregister_noupdate(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_unregister_noupdate(const char *name, void *probe,
-+ void *data)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_remove_probe(name, probe);
-+ old = tracepoint_remove_probe(name, probe, data);
- if (IS_ERR(old)) {
- mutex_unlock(&tracepoints_mutex);
- return PTR_ERR(old);
-@@ -455,6 +507,18 @@ int tracepoint_probe_unregister_noupdate
- mutex_unlock(&tracepoints_mutex);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_unregister_noupdate(const char *name, void *probe,
-+ void *data)
-+{
-+ return ___tracepoint_probe_unregister_noupdate(name, probe, data);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_unregister_noupdate);
-+
-+int tracepoint_probe_unregister_noupdate(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_unregister_noupdate(name, probe, NULL);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_unregister_noupdate);
-
- /**
-Index: linux/samples/tracepoints/tp-samples-trace.h
-===================================================================
---- linux.orig/samples/tracepoints/tp-samples-trace.h
-+++ linux/samples/tracepoints/tp-samples-trace.h
-@@ -7,7 +7,5 @@
- DECLARE_TRACE(subsys_event,
- TP_PROTO(struct inode *inode, struct file *file),
- TP_ARGS(inode, file));
--DECLARE_TRACE(subsys_eventb,
-- TP_PROTO(void),
-- TP_ARGS());
-+DECLARE_TRACE_NOARGS(subsys_eventb);
- #endif
diff --git a/linux-patches/backport-tracepoint-data-2.6.32-33.patch b/linux-patches/backport-tracepoint-data-2.6.32-33.patch
deleted file mode 100644
index e53b476..0000000
--- a/linux-patches/backport-tracepoint-data-2.6.32-33.patch
+++ /dev/null
@@ -1,555 +0,0 @@
-commit 2c2a566b64b4254c530fb0c2222b30e8a739bac9
-Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-Date: Sat Sep 1 17:45:09 2012 -0700
-
- tracing: Let tracepoints have data passed to tracepoint callbacks (backport)
-
- Backport of commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e for
- 2.6.32.x and 2.6.33.x. Keeping kABI compatibility.
-
- Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
-
----
- include/linux/tracepoint.h | 141 +++++++++++++++++++++++++-------
- kernel/tracepoint.c | 144 ++++++++++++++++++++++++---------
- samples/tracepoints/tp-samples-trace.h | 4 +-
- 3 files changed, 216 insertions(+), 73 deletions(-)
-
-Index: linux/include/linux/tracepoint.h
-===================================================================
---- linux.orig/include/linux/tracepoint.h
-+++ linux/include/linux/tracepoint.h
-@@ -20,12 +20,20 @@
- struct module;
- struct tracepoint;
-
-+#define HAVE_KABI_2635_TRACEPOINT
-+
-+struct tracepoint_func {
-+ void *func;
-+ void *data;
-+ bool kabi_2635;
-+};
-+
- struct tracepoint {
- const char *name; /* Tracepoint name */
- int state; /* State. */
- void (*regfunc)(void);
- void (*unregfunc)(void);
-- void **funcs;
-+ struct tracepoint_func *funcs;
- } __attribute__((aligned(32))); /*
- * Aligned on 32 bytes because it is
- * globally visible and gcc happily
-@@ -43,17 +51,33 @@ struct tracepoint {
- /*
- * it_func[0] is never NULL because there is at least one element in the array
- * when the array itself is non NULL.
-+ *
-+ * Note, the proto and args passed in includes "__data" as the first parameter.
-+ * The reason for this is to handle the "void" prototype. If a tracepoint
-+ * has a "void" prototype, then it is invalid to declare a function
-+ * as "(void *, void)". The DECLARE_TRACE_NOARGS() will pass in just
-+ * "void *data", where as the DECLARE_TRACE() will pass in "void *data, proto".
- */
--#define __DO_TRACE(tp, proto, args) \
-+#define __DO_TRACE(tp, data_proto, data_args, proto, args) \
- do { \
-- void **it_func; \
-+ struct tracepoint_func *it_func_ptr; \
-+ void *it_func; \
- \
- rcu_read_lock_sched_notrace(); \
-- it_func = rcu_dereference((tp)->funcs); \
-- if (it_func) { \
-+ it_func_ptr = rcu_dereference((tp)->funcs); \
-+ if (it_func_ptr) { \
- do { \
-- ((void(*)(proto))(*it_func))(args); \
-- } while (*(++it_func)); \
-+ if (it_func_ptr->kabi_2635) { \
-+ void *__data; \
-+ \
-+ it_func = (it_func_ptr)->func; \
-+ __data = (it_func_ptr)->data; \
-+ ((void(*)(data_proto))(it_func))(data_args); \
-+ } else { \
-+ it_func = (it_func_ptr)->func; \
-+ ((void(*)(proto))(it_func))(args); \
-+ } \
-+ } while ((++it_func_ptr)->func); \
- } \
- rcu_read_unlock_sched_notrace(); \
- } while (0)
-@@ -63,22 +87,39 @@ struct tracepoint {
- * not add unwanted padding between the beginning of the section and the
- * structure. Force alignment to the same alignment as the section start.
- */
--#define DECLARE_TRACE(name, proto, args) \
-+#define __DECLARE_TRACE(name, proto, args, data_proto, data_args) \
- extern struct tracepoint __tracepoint_##name; \
- static inline void trace_##name(proto) \
- { \
- if (unlikely(__tracepoint_##name.state)) \
- __DO_TRACE(&__tracepoint_##name, \
-- TP_PROTO(proto), TP_ARGS(args)); \
-+ TP_PROTO(data_proto), \
-+ TP_ARGS(data_args), \
-+ TP_PROTO(proto), \
-+ TP_ARGS(args)); \
- } \
-- static inline int register_trace_##name(void (*probe)(proto)) \
-- { \
-+ static inline int \
-+ register_trace_##name(void (*probe)(proto)) \
-+ { \
- return tracepoint_probe_register(#name, (void *)probe); \
-- } \
-- static inline int unregister_trace_##name(void (*probe)(proto)) \
-- { \
-- return tracepoint_probe_unregister(#name, (void *)probe);\
-- }
-+ } \
-+ static inline int \
-+ unregister_trace_##name(void (*probe)(proto)) \
-+ { \
-+ return tracepoint_probe_unregister(#name, (void *)probe); \
-+ } \
-+ static inline int \
-+ kabi_2635_register_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return kabi_2635_tracepoint_probe_register(#name, (void *)probe, \
-+ data); \
-+ } \
-+ static inline int \
-+ kabi_2635_unregister_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return kabi_2635_tracepoint_probe_unregister(#name, (void *)probe, \
-+ data); \
-+ }
-
-
- #define DEFINE_TRACE_FN(name, reg, unreg) \
-@@ -100,19 +141,29 @@ extern void tracepoint_update_probe_rang
- struct tracepoint *end);
-
- #else /* !CONFIG_TRACEPOINTS */
--#define DECLARE_TRACE(name, proto, args) \
-- static inline void _do_trace_##name(struct tracepoint *tp, proto) \
-- { } \
-- static inline void trace_##name(proto) \
-- { } \
-- static inline int register_trace_##name(void (*probe)(proto)) \
-- { \
-- return -ENOSYS; \
-- } \
-- static inline int unregister_trace_##name(void (*probe)(proto)) \
-- { \
-- return -ENOSYS; \
-- }
-+#define __DECLARE_TRACE(name, proto, args, data_proto, data_args) \
-+ static inline void trace_##name(proto) \
-+ { } \
-+ static inline int \
-+ register_trace_##name(void (*probe)(proto)) \
-+ { \
-+ return -ENOSYS; \
-+ } \
-+ static inline int \
-+ unregister_trace_##name(void (*probe)(proto)) \
-+ { \
-+ return -ENOSYS; \
-+ } \
-+ static inline int \
-+ kabi_2635_register_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return -ENOSYS; \
-+ } \
-+ static inline int \
-+ kabi_2635_unregister_trace_##name(void (*probe)(data_proto), void *data) \
-+ { \
-+ return -ENOSYS; \
-+ }
-
- #define DEFINE_TRACE_FN(name, reg, unreg)
- #define DEFINE_TRACE(name)
-@@ -123,6 +174,28 @@ static inline void tracepoint_update_pro
- struct tracepoint *end)
- { }
- #endif /* CONFIG_TRACEPOINTS */
-+
-+/*
-+ * The need for the DECLARE_TRACE_NOARGS() is to handle the prototype
-+ * (void). "void" is a special value in a function prototype and can
-+ * not be combined with other arguments. Since the DECLARE_TRACE()
-+ * macro adds a data element at the beginning of the prototype,
-+ * we need a way to differentiate "(void *data, proto)" from
-+ * "(void *data, void)". The second prototype is invalid.
-+ *
-+ * DECLARE_TRACE_NOARGS() passes "void" as the tracepoint prototype
-+ * and "void *__data" as the callback prototype.
-+ *
-+ * DECLARE_TRACE() passes "proto" as the tracepoint protoype and
-+ * "void *__data, proto" as the callback prototype.
-+ */
-+#define DECLARE_TRACE_NOARGS(name) \
-+ __DECLARE_TRACE(name, void, , void *__data, __data)
-+#define DECLARE_TRACE(name, proto, args) \
-+ __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
-+ PARAMS(void *__data, proto), \
-+ PARAMS(__data, args))
-+
- #endif /* DECLARE_TRACE */
-
- /*
-@@ -130,15 +203,23 @@ static inline void tracepoint_update_pro
- * Internal API, should not be used directly.
- */
- extern int tracepoint_probe_register(const char *name, void *probe);
-+extern int kabi_2635_tracepoint_probe_register(const char *name, void *probe, void *data);
-
- /*
- * Disconnect a probe from a tracepoint.
- * Internal API, should not be used directly.
- */
--extern int tracepoint_probe_unregister(const char *name, void *probe);
-+extern int
-+tracepoint_probe_unregister(const char *name, void *probe);
-+extern int
-+kabi_2635_tracepoint_probe_unregister(const char *name, void *probe, void *data);
-
- extern int tracepoint_probe_register_noupdate(const char *name, void *probe);
-+extern int kabi_2635_tracepoint_probe_register_noupdate(const char *name, void *probe,
-+ void *data);
- extern int tracepoint_probe_unregister_noupdate(const char *name, void *probe);
-+extern int kabi_2635_tracepoint_probe_unregister_noupdate(const char *name, void *probe,
-+ void *data);
- extern void tracepoint_probe_update_all(void);
-
- struct tracepoint_iter {
-Index: linux/kernel/tracepoint.c
-===================================================================
---- linux.orig/kernel/tracepoint.c
-+++ linux/kernel/tracepoint.c
-@@ -54,7 +54,7 @@ static struct hlist_head tracepoint_tabl
- */
- struct tracepoint_entry {
- struct hlist_node hlist;
-- void **funcs;
-+ struct tracepoint_func *funcs;
- int refcount; /* Number of times armed. 0 if disarmed. */
- char name[0];
- };
-@@ -64,12 +64,12 @@ struct tp_probes {
- struct rcu_head rcu;
- struct list_head list;
- } u;
-- void *probes[0];
-+ struct tracepoint_func probes[0];
- };
-
- static inline void *allocate_probes(int count)
- {
-- struct tp_probes *p = kmalloc(count * sizeof(void *)
-+ struct tp_probes *p = kmalloc(count * sizeof(struct tracepoint_func)
- + sizeof(struct tp_probes), GFP_KERNEL);
- return p == NULL ? NULL : p->probes;
- }
-@@ -79,7 +79,7 @@ static void rcu_free_old_probes(struct r
- kfree(container_of(head, struct tp_probes, u.rcu));
- }
-
--static inline void release_probes(void *old)
-+static inline void release_probes(struct tracepoint_func *old)
- {
- if (old) {
- struct tp_probes *tp_probes = container_of(old,
-@@ -95,15 +95,16 @@ static void debug_print_probes(struct tr
- if (!tracepoint_debug || !entry->funcs)
- return;
-
-- for (i = 0; entry->funcs[i]; i++)
-- printk(KERN_DEBUG "Probe %d : %p\n", i, entry->funcs[i]);
-+ for (i = 0; entry->funcs[i].func; i++)
-+ printk(KERN_DEBUG "Probe %d : %p\n", i, entry->funcs[i].func);
- }
-
--static void *
--tracepoint_entry_add_probe(struct tracepoint_entry *entry, void *probe)
-+static struct tracepoint_func *
-+tracepoint_entry_add_probe(struct tracepoint_entry *entry,
-+ void *probe, void *data, bool kabi_2635)
- {
- int nr_probes = 0;
-- void **old, **new;
-+ struct tracepoint_func *old, *new;
-
- WARN_ON(!probe);
-
-@@ -111,8 +112,9 @@ tracepoint_entry_add_probe(struct tracep
- old = entry->funcs;
- if (old) {
- /* (N -> N+1), (N != 0, 1) probes */
-- for (nr_probes = 0; old[nr_probes]; nr_probes++)
-- if (old[nr_probes] == probe)
-+ for (nr_probes = 0; old[nr_probes].func; nr_probes++)
-+ if (old[nr_probes].func == probe &&
-+ old[nr_probes].data == data)
- return ERR_PTR(-EEXIST);
- }
- /* + 2 : one for new probe, one for NULL func */
-@@ -120,9 +122,11 @@ tracepoint_entry_add_probe(struct tracep
- if (new == NULL)
- return ERR_PTR(-ENOMEM);
- if (old)
-- memcpy(new, old, nr_probes * sizeof(void *));
-- new[nr_probes] = probe;
-- new[nr_probes + 1] = NULL;
-+ memcpy(new, old, nr_probes * sizeof(struct tracepoint_func));
-+ new[nr_probes].func = probe;
-+ new[nr_probes].data = data;
-+ new[nr_probes].kabi_2635 = kabi_2635;
-+ new[nr_probes + 1].func = NULL;
- entry->refcount = nr_probes + 1;
- entry->funcs = new;
- debug_print_probes(entry);
-@@ -130,10 +134,11 @@ tracepoint_entry_add_probe(struct tracep
- }
-
- static void *
--tracepoint_entry_remove_probe(struct tracepoint_entry *entry, void *probe)
-+tracepoint_entry_remove_probe(struct tracepoint_entry *entry,
-+ void *probe, void *data)
- {
- int nr_probes = 0, nr_del = 0, i;
-- void **old, **new;
-+ struct tracepoint_func *old, *new;
-
- old = entry->funcs;
-
-@@ -142,8 +147,10 @@ tracepoint_entry_remove_probe(struct tra
-
- debug_print_probes(entry);
- /* (N -> M), (N > 1, M >= 0) probes */
-- for (nr_probes = 0; old[nr_probes]; nr_probes++) {
-- if ((!probe || old[nr_probes] == probe))
-+ for (nr_probes = 0; old[nr_probes].func; nr_probes++) {
-+ if (!probe ||
-+ (old[nr_probes].func == probe &&
-+ old[nr_probes].data == data))
- nr_del++;
- }
-
-@@ -160,10 +167,11 @@ tracepoint_entry_remove_probe(struct tra
- new = allocate_probes(nr_probes - nr_del + 1);
- if (new == NULL)
- return ERR_PTR(-ENOMEM);
-- for (i = 0; old[i]; i++)
-- if ((probe && old[i] != probe))
-+ for (i = 0; old[i].func; i++)
-+ if (probe &&
-+ (old[i].func != probe || old[i].data != data))
- new[j++] = old[i];
-- new[nr_probes - nr_del] = NULL;
-+ new[nr_probes - nr_del].func = NULL;
- entry->refcount = nr_probes - nr_del;
- entry->funcs = new;
- }
-@@ -315,18 +323,19 @@ static void tracepoint_update_probes(voi
- module_update_tracepoints();
- }
-
--static void *tracepoint_add_probe(const char *name, void *probe)
-+static struct tracepoint_func *
-+tracepoint_add_probe(const char *name, void *probe, void *data, bool kabi_2635)
- {
- struct tracepoint_entry *entry;
-- void *old;
-+ struct tracepoint_func *old;
-
- entry = get_tracepoint(name);
- if (!entry) {
- entry = add_tracepoint(name);
- if (IS_ERR(entry))
-- return entry;
-+ return (struct tracepoint_func *)entry;
- }
-- old = tracepoint_entry_add_probe(entry, probe);
-+ old = tracepoint_entry_add_probe(entry, probe, data, kabi_2635);
- if (IS_ERR(old) && !entry->refcount)
- remove_tracepoint(entry);
- return old;
-@@ -340,12 +349,14 @@ static void *tracepoint_add_probe(const
- * Returns 0 if ok, error value on error.
- * The probe address must at least be aligned on the architecture pointer size.
- */
--int tracepoint_probe_register(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_register(const char *name, void *probe, void *data,
-+ bool kabi_2635)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_add_probe(name, probe);
-+ old = tracepoint_add_probe(name, probe, data, kabi_2635);
- mutex_unlock(&tracepoints_mutex);
- if (IS_ERR(old))
- return PTR_ERR(old);
-@@ -354,17 +365,30 @@ int tracepoint_probe_register(const char
- release_probes(old);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_register(const char *name, void *probe, void *data)
-+{
-+ return ___tracepoint_probe_register(name, probe, data, 1);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_register);
-+
-+
-+int tracepoint_probe_register(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_register(name, probe, NULL, 0);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_register);
-
--static void *tracepoint_remove_probe(const char *name, void *probe)
-+static struct tracepoint_func *
-+tracepoint_remove_probe(const char *name, void *probe, void *data)
- {
- struct tracepoint_entry *entry;
-- void *old;
-+ struct tracepoint_func *old;
-
- entry = get_tracepoint(name);
- if (!entry)
- return ERR_PTR(-ENOENT);
-- old = tracepoint_entry_remove_probe(entry, probe);
-+ old = tracepoint_entry_remove_probe(entry, probe, data);
- if (IS_ERR(old))
- return old;
- if (!entry->refcount)
-@@ -382,12 +406,13 @@ static void *tracepoint_remove_probe(con
- * itself uses stop_machine(), which insures that every preempt disabled section
- * have finished.
- */
--int tracepoint_probe_unregister(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_unregister(const char *name, void *probe, void *data)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_remove_probe(name, probe);
-+ old = tracepoint_remove_probe(name, probe, data);
- mutex_unlock(&tracepoints_mutex);
- if (IS_ERR(old))
- return PTR_ERR(old);
-@@ -396,6 +421,17 @@ int tracepoint_probe_unregister(const ch
- release_probes(old);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_unregister(const char *name, void *probe, void *data)
-+{
-+ return ___tracepoint_probe_unregister(name, probe, data);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_unregister);
-+
-+int tracepoint_probe_unregister(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_unregister(name, probe, NULL);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_unregister);
-
- static LIST_HEAD(old_probes);
-@@ -418,12 +454,14 @@ static void tracepoint_add_old_probes(vo
- *
- * caller must call tracepoint_probe_update_all()
- */
--int tracepoint_probe_register_noupdate(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_register_noupdate(const char *name, void *probe,
-+ void *data, bool kabi_2635)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_add_probe(name, probe);
-+ old = tracepoint_add_probe(name, probe, data, kabi_2635);
- if (IS_ERR(old)) {
- mutex_unlock(&tracepoints_mutex);
- return PTR_ERR(old);
-@@ -432,6 +470,18 @@ int tracepoint_probe_register_noupdate(c
- mutex_unlock(&tracepoints_mutex);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_register_noupdate(const char *name, void *probe,
-+ void *data)
-+{
-+ return ___tracepoint_probe_register_noupdate(name, probe, data, 1);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_register_noupdate);
-+
-+int tracepoint_probe_register_noupdate(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_register_noupdate(name, probe, NULL, 0);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_register_noupdate);
-
- /**
-@@ -441,12 +491,14 @@ EXPORT_SYMBOL_GPL(tracepoint_probe_regis
- *
- * caller must call tracepoint_probe_update_all()
- */
--int tracepoint_probe_unregister_noupdate(const char *name, void *probe)
-+static
-+int ___tracepoint_probe_unregister_noupdate(const char *name, void *probe,
-+ void *data)
- {
-- void *old;
-+ struct tracepoint_func *old;
-
- mutex_lock(&tracepoints_mutex);
-- old = tracepoint_remove_probe(name, probe);
-+ old = tracepoint_remove_probe(name, probe, data);
- if (IS_ERR(old)) {
- mutex_unlock(&tracepoints_mutex);
- return PTR_ERR(old);
-@@ -455,6 +507,18 @@ int tracepoint_probe_unregister_noupdate
- mutex_unlock(&tracepoints_mutex);
- return 0;
- }
-+
-+int kabi_2635_tracepoint_probe_unregister_noupdate(const char *name, void *probe,
-+ void *data)
-+{
-+ return ___tracepoint_probe_unregister_noupdate(name, probe, data);
-+}
-+EXPORT_SYMBOL_GPL(kabi_2635_tracepoint_probe_unregister_noupdate);
-+
-+int tracepoint_probe_unregister_noupdate(const char *name, void *probe)
-+{
-+ return ___tracepoint_probe_unregister_noupdate(name, probe, NULL);
-+}
- EXPORT_SYMBOL_GPL(tracepoint_probe_unregister_noupdate);
-
- /**
-Index: linux/samples/tracepoints/tp-samples-trace.h
-===================================================================
---- linux.orig/samples/tracepoints/tp-samples-trace.h
-+++ linux/samples/tracepoints/tp-samples-trace.h
-@@ -7,7 +7,5 @@
- DECLARE_TRACE(subsys_event,
- TP_PROTO(struct inode *inode, struct file *file),
- TP_ARGS(inode, file));
--DECLARE_TRACE(subsys_eventb,
-- TP_PROTO(void),
-- TP_ARGS());
-+DECLARE_TRACE_NOARGS(subsys_eventb);
- #endif
diff --git a/lttng-events.c b/lttng-events.c
index f1be602..566080a 100644
--- a/lttng-events.c
+++ b/lttng-events.c
@@ -27,8 +27,8 @@
#include <linux/jhash.h>
#include <linux/uaccess.h>
#include <linux/vmalloc.h>
+#include <linux/uuid.h>
-#include <wrapper/uuid.h>
#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
#include <wrapper/random.h>
#include <wrapper/tracepoint.h>
@@ -40,7 +40,6 @@
#include <lttng-abi-old.h>
#include <lttng-endian.h>
#include <lttng-string-utils.h>
-#include <wrapper/vzalloc.h>
#include <wrapper/ringbuffer/backend.h>
#include <wrapper/ringbuffer/frontend.h>
@@ -130,7 +129,7 @@ struct lttng_session *lttng_session_create(void)
GFP_KERNEL);
if (!metadata_cache)
goto err_free_session;
- metadata_cache->data = lttng_vzalloc(METADATA_CACHE_DEFAULT_SIZE);
+ metadata_cache->data = vzalloc(METADATA_CACHE_DEFAULT_SIZE);
if (!metadata_cache->data)
goto err_free_cache;
metadata_cache->cache_alloc = METADATA_CACHE_DEFAULT_SIZE;
@@ -1692,7 +1691,7 @@ int lttng_metadata_printf(struct lttng_session *session,
tmp_cache_alloc_size = max_t(unsigned int,
session->metadata_cache->cache_alloc + len,
session->metadata_cache->cache_alloc << 1);
- tmp_cache_realloc = lttng_vzalloc(tmp_cache_alloc_size);
+ tmp_cache_realloc = vzalloc(tmp_cache_alloc_size);
if (!tmp_cache_realloc)
goto err;
if (session->metadata_cache->data) {
diff --git a/lttng-events.h b/lttng-events.h
index f5a7d23..1903706 100644
--- a/lttng-events.h
+++ b/lttng-events.h
@@ -15,7 +15,7 @@
#include <linux/kprobes.h>
#include <linux/kref.h>
#include <lttng-cpuhotplug.h>
-#include <wrapper/uuid.h>
+#include <linux/uuid.h>
#include <wrapper/uprobes.h>
#include <lttng-tracer.h>
#include <lttng-abi.h>
@@ -716,7 +716,7 @@ int lttng_add_migratable_to_ctx(struct lttng_ctx **ctx)
int lttng_add_callstack_to_ctx(struct lttng_ctx **ctx, int type);
-#if defined(CONFIG_PERF_EVENTS) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
+#if defined(CONFIG_PERF_EVENTS)
int lttng_add_perf_counter_to_ctx(uint32_t type,
uint64_t config,
const char *name,
@@ -891,8 +891,6 @@ int lttng_calibrate(struct lttng_kernel_calibrate *calibrate);
extern const struct file_operations lttng_tracepoint_list_fops;
extern const struct file_operations lttng_syscall_list_fops;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
#define TRACEPOINT_HAS_DATA_ARG
-#endif
#endif /* _LTTNG_EVENTS_H */
diff --git a/lttng-kernel-version.h b/lttng-kernel-version.h
index 6b545db..26f816c 100644
--- a/lttng-kernel-version.h
+++ b/lttng-kernel-version.h
@@ -11,12 +11,7 @@
#define _LTTNG_KERNEL_VERSION_H
#include <linux/version.h>
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
#include <generated/utsrelease.h>
-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)) */
-#include <linux/utsrelease.h>
-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)) */
/*
* This macro checks if the kernel version is between the two specified
diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c
index 6d91a2c..dc03750 100644
--- a/lttng-statedump-impl.c
+++ b/lttng-statedump-impl.c
@@ -37,7 +37,6 @@
#include <lttng-events.h>
#include <lttng-tracer.h>
#include <wrapper/irqdesc.h>
-#include <wrapper/spinlock.h>
#include <wrapper/fdtable.h>
#include <wrapper/irq.h>
#include <wrapper/tracepoint.h>
@@ -354,10 +353,6 @@ int lttng_enumerate_vm_maps(struct lttng_session *session)
#ifdef CONFIG_LTTNG_HAS_LIST_IRQ
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39))
-#define irq_desc_get_chip(desc) get_irq_desc_chip(desc)
-#endif
-
static
int lttng_list_interrupts(struct lttng_session *session)
{
@@ -373,12 +368,12 @@ int lttng_list_interrupts(struct lttng_session *session)
irq_desc_get_chip(desc)->name ? : "unnamed_irq_chip";
local_irq_save(flags);
- wrapper_desc_spin_lock(&desc->lock);
+ raw_spin_lock(&desc->lock);
for (action = desc->action; action; action = action->next) {
trace_lttng_statedump_interrupt(session,
irq, irq_chip_name, action);
}
- wrapper_desc_spin_unlock(&desc->lock);
+ raw_spin_unlock(&desc->lock);
local_irq_restore(flags);
}
return 0;
diff --git a/probes/lttng-probe-lock.c b/probes/lttng-probe-lock.c
index b3ad230..e81eb36 100644
--- a/probes/lttng-probe-lock.c
+++ b/probes/lttng-probe-lock.c
@@ -16,12 +16,7 @@
* Create the tracepoint static inlines from the kernel to validate that our
* trace event macros match the kernel we run on.
*/
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
#include <trace/events/lock.h>
-#else
-#include <trace/events/lockdep.h>
-#endif
-
#include <wrapper/tracepoint.h>
/*
diff --git a/tests/probes/lttng-test.c b/tests/probes/lttng-test.c
index 42e48cf..d127818 100644
--- a/tests/probes/lttng-test.c
+++ b/tests/probes/lttng-test.c
@@ -16,7 +16,6 @@
#include <lttng-events.h>
#include <lttng-tracer.h>
#include <wrapper/tracepoint.h>
-#include <wrapper/kstrtox.h>
#define TP_MODULE_NOAUTOLOAD
#define LTTNG_PACKAGE_BUILD
@@ -69,7 +68,7 @@ ssize_t lttng_test_filter_event_write(struct file *file, const char __user *user
int ret;
/* Get the number of iterations */
- ret = lttng_kstrtouint_from_user(user_buf, count, 10, &nr_iter);
+ ret = kstrtouint_from_user(user_buf, count, 10, &nr_iter);
if (ret) {
written = ret;
goto end;
diff --git a/wrapper/atomic.h b/wrapper/atomic.h
index 51920c4..5ead899 100644
--- a/wrapper/atomic.h
+++ b/wrapper/atomic.h
@@ -11,11 +11,7 @@
#define _LTTNG_WRAPPER_ATOMIC_H
#include <linux/version.h>
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
#include <linux/atomic.h>
-#else
-#include <asm/atomic.h>
-#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
static inline void lttng_smp_mb__before_atomic(void)
diff --git a/wrapper/kstrtox.h b/wrapper/kstrtox.h
deleted file mode 100644
index b0c6cf8..0000000
--- a/wrapper/kstrtox.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
- *
- * wrapper/kstrtox.h
- *
- * Copyright (C) 2015 Michael Jeanson <mjeanson at efficios.com>
- */
-
-#ifndef _LTTNG_WRAPPER_KSTRTOX_H
-#define _LTTNG_WRAPPER_KSTRTOX_H
-
-#include <linux/version.h>
-
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
-
-#include <linux/uaccess.h>
-
-/* Excludes final \0. */
-#define LTTNG_MAX_UINT_CHAR 10
-
-static inline
-int __must_check lttng_kstrtouint_from_user(const char __user *ubuf,
- size_t count, unsigned int base, unsigned int *res)
-{
- unsigned int _res;
- char kbuf[LTTNG_MAX_UINT_CHAR + 1], *endptr;
-
- memset(kbuf, 0, sizeof(kbuf));
- if (copy_from_user(kbuf, ubuf, min_t(size_t, LTTNG_MAX_UINT_CHAR, count)))
- return -EFAULT;
-
- _res = simple_strtoul(kbuf, &endptr, base);
- if (!endptr)
- return -EINVAL;
-
- *res = _res;
- return 0;
-}
-#else
-static inline
-int __must_check lttng_kstrtouint_from_user(const char __user *ubuf,
- size_t count, unsigned int base, unsigned int *res)
-{
- return kstrtouint_from_user(ubuf, count, base, res);
-}
-#endif
-
-#endif /* _LTTNG_WRAPPER_KSTRTOX_H */
diff --git a/wrapper/perf.h b/wrapper/perf.h
index 48e256c..4a7f6d8 100644
--- a/wrapper/perf.h
+++ b/wrapper/perf.h
@@ -22,8 +22,6 @@ wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
return perf_event_create_kernel_counter(attr, cpu, task, callback, NULL);
}
#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) */
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
static inline struct perf_event *
wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
int cpu,
@@ -32,29 +30,6 @@ wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
{
return perf_event_create_kernel_counter(attr, cpu, task, callback);
}
-#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
-static inline struct perf_event *
-wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
- int cpu,
- struct task_struct *task,
- perf_overflow_handler_t callback)
-{
- pid_t pid;
-
- if (!task)
- pid = -1;
- else
- pid = task->pid;
-
- return perf_event_create_kernel_counter(attr, cpu, pid, callback);
-}
-
-#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
-
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
-#define local64_read(l) atomic64_read(l)
-#endif
-
#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) */
#endif /* CONFIG_PERF_EVENTS */
diff --git a/wrapper/spinlock.h b/wrapper/spinlock.h
deleted file mode 100644
index b3570d4..0000000
--- a/wrapper/spinlock.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
- *
- * wrapper/spinlock.h
- *
- * Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
- */
-
-#ifndef _LTTNG_WRAPPER_SPINLOCK_H
-#define _LTTNG_WRAPPER_SPINLOCK_H
-
-#include <linux/version.h>
-
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
-
-#include <linux/string.h>
-
-#define raw_spin_lock_init(lock) \
- do { \
- raw_spinlock_t __lock = __RAW_SPIN_LOCK_UNLOCKED; \
- memcpy(lock, &__lock, sizeof(lock)); \
- } while (0)
-
-#define raw_spin_is_locked(lock) __raw_spin_is_locked(lock)
-
-#define wrapper_desc_spin_lock(lock) spin_lock(lock)
-#define wrapper_desc_spin_unlock(lock) spin_unlock(lock)
-
-#else
-
-#define wrapper_desc_spin_lock(lock) raw_spin_lock(lock)
-#define wrapper_desc_spin_unlock(lock) raw_spin_unlock(lock)
-
-#endif
-#endif /* _LTTNG_WRAPPER_SPINLOCK_H */
diff --git a/wrapper/tracepoint.h b/wrapper/tracepoint.h
index 0c5a296..6ee4217 100644
--- a/wrapper/tracepoint.h
+++ b/wrapper/tracepoint.h
@@ -14,12 +14,6 @@
#include <linux/tracepoint.h>
#include <linux/module.h>
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
-
-#define DECLARE_EVENT_CLASS(name, proto, args, tstruct, assign, print)
-
-#endif
-
#ifndef HAVE_KABI_2635_TRACEPOINT
#define kabi_2635_tracepoint_probe_register tracepoint_probe_register
diff --git a/wrapper/uuid.h b/wrapper/uuid.h
deleted file mode 100644
index 465754e..0000000
--- a/wrapper/uuid.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
- *
- * wrapper/uuid.h
- *
- * Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
- */
-
-#ifndef _LTTNG_WRAPPER_UUID_H
-#define _LTTNG_WRAPPER_UUID_H
-
-#include <linux/version.h>
-
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
-#include <linux/uuid.h>
-#else
-
-#include <linux/random.h>
-
-typedef struct {
- __u8 b[16];
-} uuid_le;
-
-static inline
-void uuid_le_gen(uuid_le *u)
-{
- generate_random_uuid(u->b);
-}
-
-#endif
-#endif /* _LTTNG_WRAPPER_UUID_H */
diff --git a/wrapper/vzalloc.h b/wrapper/vzalloc.h
deleted file mode 100644
index eedaf8d..0000000
--- a/wrapper/vzalloc.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
- *
- * wrapper/vzalloc.h
- *
- * Copyright (C) 2015 Michael Jeanson <mjeanson at efficios.com>
- */
-
-#ifndef _LTTNG_WRAPPER_VZALLOC_H
-#define _LTTNG_WRAPPER_VZALLOC_H
-
-#include <linux/version.h>
-#include <linux/vmalloc.h>
-
-#if LTTNG_KERNEL_RANGE(2,6,36, 2,6,37)
-static inline
-void *lttng_vzalloc(unsigned long size)
-{
- void *ret;
- ret = vmalloc(size);
- if (!ret)
- return NULL;
- memset(ret, 0, size);
- return ret;
-}
-#else
-static inline
-void *lttng_vzalloc(unsigned long size)
-{
- return vzalloc(size);
-}
-#endif
-
-
-#endif /* _LTTNG_WRAPPER_VZALLOC_H */
--
2.17.1
More information about the lttng-dev
mailing list