diff options
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/btrfs.h | 4 | ||||
| -rw-r--r-- | include/trace/events/ext4.h | 179 | ||||
| -rw-r--r-- | include/trace/events/gpio.h | 56 | ||||
| -rw-r--r-- | include/trace/events/net.h | 12 | ||||
| -rw-r--r-- | include/trace/events/vmscan.h | 83 | ||||
| -rw-r--r-- | include/trace/ftrace.h | 13 | 
6 files changed, 237 insertions, 110 deletions
| diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h index f445cff66ab7..4114129f0794 100644 --- a/include/trace/events/btrfs.h +++ b/include/trace/events/btrfs.h @@ -28,7 +28,7 @@ struct extent_buffer;  		{ BTRFS_SHARED_DATA_REF_KEY, 	"SHARED_DATA_REF" })  #define __show_root_type(obj)						\ -	__print_symbolic(obj,						\ +	__print_symbolic_u64(obj,					\  		{ BTRFS_ROOT_TREE_OBJECTID, 	"ROOT_TREE"	},	\  		{ BTRFS_EXTENT_TREE_OBJECTID, 	"EXTENT_TREE"	},	\  		{ BTRFS_CHUNK_TREE_OBJECTID, 	"CHUNK_TREE"	},	\ @@ -125,7 +125,7 @@ DEFINE_EVENT(btrfs__inode, btrfs_inode_evict,  );  #define __show_map_type(type)						\ -	__print_symbolic(type,						\ +	__print_symbolic_u64(type,					\  		{ EXTENT_MAP_LAST_BYTE, "LAST_BYTE" 	},		\  		{ EXTENT_MAP_HOLE, 	"HOLE" 		},		\  		{ EXTENT_MAP_INLINE, 	"INLINE" 	},		\ diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index e09592d2f916..5ce2b2f5f524 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -26,7 +26,7 @@ TRACE_EVENT(ext4_free_inode,  		__field(	umode_t, mode			)  		__field(	uid_t,	uid			)  		__field(	gid_t,	gid			) -		__field(	blkcnt_t, blocks		) +		__field(	__u64, blocks			)  	),  	TP_fast_assign( @@ -40,9 +40,8 @@ TRACE_EVENT(ext4_free_inode,  	TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu",  		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino, -		  __entry->mode, __entry->uid, __entry->gid, -		  (unsigned long long) __entry->blocks) +		  (unsigned long) __entry->ino, __entry->mode, +		  __entry->uid, __entry->gid, __entry->blocks)  );  TRACE_EVENT(ext4_request_inode, @@ -178,7 +177,7 @@ TRACE_EVENT(ext4_begin_ordered_truncate,  	TP_printk("dev %d,%d ino %lu new_size %lld",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (long long) __entry->new_size) +		  __entry->new_size)  );  DECLARE_EVENT_CLASS(ext4__write_begin, @@ -204,7 +203,7 @@ DECLARE_EVENT_CLASS(ext4__write_begin,  		__entry->flags	= flags;  	), -	TP_printk("dev %d,%d ino %lu pos %llu len %u flags %u", +	TP_printk("dev %d,%d ino %lu pos %lld len %u flags %u",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino,  		  __entry->pos, __entry->len, __entry->flags) @@ -248,7 +247,7 @@ DECLARE_EVENT_CLASS(ext4__write_end,  		__entry->copied	= copied;  	), -	TP_printk("dev %d,%d ino %lu pos %llu len %u copied %u", +	TP_printk("dev %d,%d ino %lu pos %lld len %u copied %u",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino,  		  __entry->pos, __entry->len, __entry->copied) @@ -286,29 +285,6 @@ DEFINE_EVENT(ext4__write_end, ext4_da_write_end,  	TP_ARGS(inode, pos, len, copied)  ); -TRACE_EVENT(ext4_writepage, -	TP_PROTO(struct inode *inode, struct page *page), - -	TP_ARGS(inode, page), - -	TP_STRUCT__entry( -		__field(	dev_t,	dev			) -		__field(	ino_t,	ino			) -		__field(	pgoff_t, index			) - -	), - -	TP_fast_assign( -		__entry->dev	= inode->i_sb->s_dev; -		__entry->ino	= inode->i_ino; -		__entry->index	= page->index; -	), - -	TP_printk("dev %d,%d ino %lu page_index %lu", -		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino, __entry->index) -); -  TRACE_EVENT(ext4_da_writepages,  	TP_PROTO(struct inode *inode, struct writeback_control *wbc), @@ -341,7 +317,7 @@ TRACE_EVENT(ext4_da_writepages,  	),  	TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld " -		  "range_start %llu range_end %llu sync_mode %d" +		  "range_start %lld range_end %lld sync_mode %d"  		  "for_kupdate %d range_cyclic %d writeback_index %lu",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, __entry->nr_to_write, @@ -449,7 +425,14 @@ DECLARE_EVENT_CLASS(ext4__page_op,  	TP_printk("dev %d,%d ino %lu page_index %lu",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  __entry->index) +		  (unsigned long) __entry->index) +); + +DEFINE_EVENT(ext4__page_op, ext4_writepage, + +	TP_PROTO(struct page *page), + +	TP_ARGS(page)  );  DEFINE_EVENT(ext4__page_op, ext4_readpage, @@ -489,7 +472,7 @@ TRACE_EVENT(ext4_invalidatepage,  	TP_printk("dev %d,%d ino %lu page_index %lu offset %lu",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  __entry->index, __entry->offset) +		  (unsigned long) __entry->index, __entry->offset)  );  TRACE_EVENT(ext4_discard_blocks, @@ -562,12 +545,10 @@ DEFINE_EVENT(ext4__mb_new_pa, ext4_mb_new_group_pa,  );  TRACE_EVENT(ext4_mb_release_inode_pa, -	TP_PROTO(struct super_block *sb, -		 struct inode *inode, -		 struct ext4_prealloc_space *pa, +	TP_PROTO(struct ext4_prealloc_space *pa,  		 unsigned long long block, unsigned int count), -	TP_ARGS(sb, inode, pa, block, count), +	TP_ARGS(pa, block, count),  	TP_STRUCT__entry(  		__field(	dev_t,	dev			) @@ -578,8 +559,8 @@ TRACE_EVENT(ext4_mb_release_inode_pa,  	),  	TP_fast_assign( -		__entry->dev		= sb->s_dev; -		__entry->ino		= inode->i_ino; +		__entry->dev		= pa->pa_inode->i_sb->s_dev; +		__entry->ino		= pa->pa_inode->i_ino;  		__entry->block		= block;  		__entry->count		= count;  	), @@ -591,10 +572,9 @@ TRACE_EVENT(ext4_mb_release_inode_pa,  );  TRACE_EVENT(ext4_mb_release_group_pa, -	TP_PROTO(struct super_block *sb, -		 struct ext4_prealloc_space *pa), +	TP_PROTO(struct ext4_prealloc_space *pa), -	TP_ARGS(sb, pa), +	TP_ARGS(pa),  	TP_STRUCT__entry(  		__field(	dev_t,	dev			) @@ -604,7 +584,7 @@ TRACE_EVENT(ext4_mb_release_group_pa,  	),  	TP_fast_assign( -		__entry->dev		= sb->s_dev; +		__entry->dev		= pa->pa_inode->i_sb->s_dev;  		__entry->pa_pstart	= pa->pa_pstart;  		__entry->pa_len		= pa->pa_len;  	), @@ -666,10 +646,10 @@ TRACE_EVENT(ext4_request_blocks,  		__field(	ino_t,	ino			)  		__field(	unsigned int, flags		)  		__field(	unsigned int, len		) -		__field(	__u64,  logical			) +		__field(	__u32,  logical			) +		__field(	__u32,	lleft			) +		__field(	__u32,	lright			)  		__field(	__u64,	goal			) -		__field(	__u64,	lleft			) -		__field(	__u64,	lright			)  		__field(	__u64,	pleft			)  		__field(	__u64,	pright			)  	), @@ -687,17 +667,13 @@ TRACE_EVENT(ext4_request_blocks,  		__entry->pright	= ar->pright;  	), -	TP_printk("dev %d,%d ino %lu flags %u len %u lblk %llu goal %llu " -		  "lleft %llu lright %llu pleft %llu pright %llu ", +	TP_printk("dev %d,%d ino %lu flags %u len %u lblk %u goal %llu " +		  "lleft %u lright %u pleft %llu pright %llu ",  		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino, -		  __entry->flags, __entry->len, -		  (unsigned long long) __entry->logical, -		  (unsigned long long) __entry->goal, -		  (unsigned long long) __entry->lleft, -		  (unsigned long long) __entry->lright, -		  (unsigned long long) __entry->pleft, -		  (unsigned long long) __entry->pright) +		  (unsigned long) __entry->ino, __entry->flags, +		  __entry->len, __entry->logical, __entry->goal, +		  __entry->lleft, __entry->lright, __entry->pleft, +		  __entry->pright)  );  TRACE_EVENT(ext4_allocate_blocks, @@ -711,10 +687,10 @@ TRACE_EVENT(ext4_allocate_blocks,  		__field(	__u64,	block			)  		__field(	unsigned int, flags		)  		__field(	unsigned int, len		) -		__field(	__u64,  logical			) +		__field(	__u32,  logical			) +		__field(	__u32,	lleft			) +		__field(	__u32,	lright			)  		__field(	__u64,	goal			) -		__field(	__u64,	lleft			) -		__field(	__u64,	lright			)  		__field(	__u64,	pleft			)  		__field(	__u64,	pright			)  	), @@ -733,17 +709,13 @@ TRACE_EVENT(ext4_allocate_blocks,  		__entry->pright	= ar->pright;  	), -	TP_printk("dev %d,%d ino %lu flags %u len %u block %llu lblk %llu " -		  "goal %llu lleft %llu lright %llu pleft %llu pright %llu", +	TP_printk("dev %d,%d ino %lu flags %u len %u block %llu lblk %u " +		  "goal %llu lleft %u lright %u pleft %llu pright %llu",  		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino, -		  __entry->flags, __entry->len, __entry->block, -		  (unsigned long long) __entry->logical, -		  (unsigned long long) __entry->goal, -		  (unsigned long long) __entry->lleft, -		  (unsigned long long) __entry->lright, -		  (unsigned long long) __entry->pleft, -		  (unsigned long long) __entry->pright) +		  (unsigned long) __entry->ino, __entry->flags, +		  __entry->len, __entry->block, __entry->logical, +		  __entry->goal,  __entry->lleft, __entry->lright, +		  __entry->pleft, __entry->pright)  );  TRACE_EVENT(ext4_free_blocks, @@ -755,10 +727,10 @@ TRACE_EVENT(ext4_free_blocks,  	TP_STRUCT__entry(  		__field(	dev_t,	dev			)  		__field(	ino_t,	ino			) -		__field(      umode_t, mode			) +		__field(	umode_t, mode			)  		__field(	__u64,	block			)  		__field(	unsigned long,	count		) -		__field(	 int,	flags			) +		__field(	int,	flags			)  	),  	TP_fast_assign( @@ -798,7 +770,7 @@ TRACE_EVENT(ext4_sync_file_enter,  		__entry->parent		= dentry->d_parent->d_inode->i_ino;  	), -	TP_printk("dev %d,%d ino %ld parent %ld datasync %d ", +	TP_printk("dev %d,%d ino %lu parent %lu datasync %d ",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino,  		  (unsigned long) __entry->parent, __entry->datasync) @@ -821,7 +793,7 @@ TRACE_EVENT(ext4_sync_file_exit,  		__entry->dev		= inode->i_sb->s_dev;  	), -	TP_printk("dev %d,%d ino %ld ret %d", +	TP_printk("dev %d,%d ino %lu ret %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino,  		  __entry->ret) @@ -1005,7 +977,7 @@ DECLARE_EVENT_CLASS(ext4__mballoc,  		__entry->result_len	= len;  	), -	TP_printk("dev %d,%d inode %lu extent %u/%d/%u ", +	TP_printk("dev %d,%d inode %lu extent %u/%d/%d ",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino,  		  __entry->result_group, __entry->result_start, @@ -1093,7 +1065,7 @@ TRACE_EVENT(ext4_da_update_reserve_space,  		  "allocated_meta_blocks %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  __entry->mode,  (unsigned long long) __entry->i_blocks, +		  __entry->mode, __entry->i_blocks,  		  __entry->used_blocks, __entry->reserved_data_blocks,  		  __entry->reserved_meta_blocks, __entry->allocated_meta_blocks)  ); @@ -1127,7 +1099,7 @@ TRACE_EVENT(ext4_da_reserve_space,  		  "reserved_data_blocks %d reserved_meta_blocks %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  __entry->mode, (unsigned long long) __entry->i_blocks, +		  __entry->mode, __entry->i_blocks,  		  __entry->md_needed, __entry->reserved_data_blocks,  		  __entry->reserved_meta_blocks)  ); @@ -1164,7 +1136,7 @@ TRACE_EVENT(ext4_da_release_space,  		  "allocated_meta_blocks %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  __entry->mode, (unsigned long long) __entry->i_blocks, +		  __entry->mode, __entry->i_blocks,  		  __entry->freed_blocks, __entry->reserved_data_blocks,  		  __entry->reserved_meta_blocks, __entry->allocated_meta_blocks)  ); @@ -1239,14 +1211,15 @@ TRACE_EVENT(ext4_direct_IO_enter,  		__entry->rw	= rw;  	), -	TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d", +	TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (unsigned long long) __entry->pos, __entry->len, __entry->rw) +		  __entry->pos, __entry->len, __entry->rw)  );  TRACE_EVENT(ext4_direct_IO_exit, -	TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw, int ret), +	TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, +		 int rw, int ret),  	TP_ARGS(inode, offset, len, rw, ret), @@ -1268,10 +1241,10 @@ TRACE_EVENT(ext4_direct_IO_exit,  		__entry->ret	= ret;  	), -	TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d ret %d", +	TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d ret %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (unsigned long long) __entry->pos, __entry->len, +		  __entry->pos, __entry->len,  		  __entry->rw, __entry->ret)  ); @@ -1296,15 +1269,15 @@ TRACE_EVENT(ext4_fallocate_enter,  		__entry->mode	= mode;  	), -	TP_printk("dev %d,%d ino %ld pos %llu len %llu mode %d", +	TP_printk("dev %d,%d ino %lu pos %lld len %lld mode %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino, -		  (unsigned long long) __entry->pos, -		  (unsigned long long) __entry->len, __entry->mode) +		  (unsigned long) __entry->ino, __entry->pos, +		  __entry->len, __entry->mode)  );  TRACE_EVENT(ext4_fallocate_exit, -	TP_PROTO(struct inode *inode, loff_t offset, unsigned int max_blocks, int ret), +	TP_PROTO(struct inode *inode, loff_t offset, +		 unsigned int max_blocks, int ret),  	TP_ARGS(inode, offset, max_blocks, ret), @@ -1312,7 +1285,7 @@ TRACE_EVENT(ext4_fallocate_exit,  		__field(	ino_t,	ino			)  		__field(	dev_t,	dev			)  		__field(	loff_t,	pos			) -		__field(	unsigned,	blocks		) +		__field(	unsigned int,	blocks		)  		__field(	int, 	ret			)  	), @@ -1324,10 +1297,10 @@ TRACE_EVENT(ext4_fallocate_exit,  		__entry->ret	= ret;  	), -	TP_printk("dev %d,%d ino %ld pos %llu blocks %d ret %d", +	TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (unsigned long long) __entry->pos, __entry->blocks, +		  __entry->pos, __entry->blocks,  		  __entry->ret)  ); @@ -1350,7 +1323,7 @@ TRACE_EVENT(ext4_unlink_enter,  		__entry->dev		= dentry->d_inode->i_sb->s_dev;  	), -	TP_printk("dev %d,%d ino %ld size %lld parent %ld", +	TP_printk("dev %d,%d ino %lu size %lld parent %lu",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, __entry->size,  		  (unsigned long) __entry->parent) @@ -1373,7 +1346,7 @@ TRACE_EVENT(ext4_unlink_exit,  		__entry->ret		= ret;  	), -	TP_printk("dev %d,%d ino %ld ret %d", +	TP_printk("dev %d,%d ino %lu ret %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino,  		  __entry->ret) @@ -1387,7 +1360,7 @@ DECLARE_EVENT_CLASS(ext4__truncate,  	TP_STRUCT__entry(  		__field(	ino_t,  	ino		)  		__field(	dev_t,  	dev		) -		__field(	blkcnt_t,	blocks		) +		__field(	__u64,		blocks		)  	),  	TP_fast_assign( @@ -1396,9 +1369,9 @@ DECLARE_EVENT_CLASS(ext4__truncate,  		__entry->blocks	= inode->i_blocks;  	), -	TP_printk("dev %d,%d ino %lu blocks %lu", +	TP_printk("dev %d,%d ino %lu blocks %llu",  		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino, (unsigned long) __entry->blocks) +		  (unsigned long) __entry->ino, __entry->blocks)  );  DEFINE_EVENT(ext4__truncate, ext4_truncate_enter, @@ -1417,7 +1390,7 @@ DEFINE_EVENT(ext4__truncate, ext4_truncate_exit,  DECLARE_EVENT_CLASS(ext4__map_blocks_enter,  	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, -		 unsigned len, unsigned flags), +		 unsigned int len, unsigned int flags),  	TP_ARGS(inode, lblk, len, flags), @@ -1425,8 +1398,8 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_enter,  		__field(	ino_t,  	ino		)  		__field(	dev_t,  	dev		)  		__field(	ext4_lblk_t,	lblk		) -		__field(	unsigned,	len		) -		__field(	unsigned,	flags		) +		__field(	unsigned int,	len		) +		__field(	unsigned int,	flags		)  	),  	TP_fast_assign( @@ -1440,7 +1413,7 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_enter,  	TP_printk("dev %d,%d ino %lu lblk %u len %u flags %u",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (unsigned) __entry->lblk, __entry->len, __entry->flags) +		  __entry->lblk, __entry->len, __entry->flags)  );  DEFINE_EVENT(ext4__map_blocks_enter, ext4_ext_map_blocks_enter, @@ -1459,7 +1432,7 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,  DECLARE_EVENT_CLASS(ext4__map_blocks_exit,  	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, -		 ext4_fsblk_t pblk, unsigned len, int ret), +		 ext4_fsblk_t pblk, unsigned int len, int ret),  	TP_ARGS(inode, lblk, pblk, len, ret), @@ -1468,7 +1441,7 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit,  		__field(	dev_t,		dev		)  		__field(	ext4_lblk_t,	lblk		)  		__field(	ext4_fsblk_t,	pblk		) -		__field(	unsigned,	len		) +		__field(	unsigned int,	len		)  		__field(	int,		ret		)  	), @@ -1484,7 +1457,7 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit,  	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (unsigned) __entry->lblk, (unsigned long long) __entry->pblk, +		  __entry->lblk, __entry->pblk,  		  __entry->len, __entry->ret)  ); @@ -1524,7 +1497,7 @@ TRACE_EVENT(ext4_ext_load_extent,  	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		  (unsigned long) __entry->ino, -		  (unsigned) __entry->lblk, (unsigned long long) __entry->pblk) +		  __entry->lblk, __entry->pblk)  );  TRACE_EVENT(ext4_load_inode, diff --git a/include/trace/events/gpio.h b/include/trace/events/gpio.h new file mode 100644 index 000000000000..927a8ad9e51b --- /dev/null +++ b/include/trace/events/gpio.h @@ -0,0 +1,56 @@ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM gpio + +#if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_GPIO_H + +#include <linux/tracepoint.h> + +TRACE_EVENT(gpio_direction, + +	TP_PROTO(unsigned gpio, int in, int err), + +	TP_ARGS(gpio, in, err), + +	TP_STRUCT__entry( +		__field(unsigned, gpio) +		__field(int, in) +		__field(int, err) +	), + +	TP_fast_assign( +		__entry->gpio = gpio; +		__entry->in = in; +		__entry->err = err; +	), + +	TP_printk("%u %3s (%d)", __entry->gpio, +		__entry->in ? "in" : "out", __entry->err) +); + +TRACE_EVENT(gpio_value, + +	TP_PROTO(unsigned gpio, int get, int value), + +	TP_ARGS(gpio, get, value), + +	TP_STRUCT__entry( +		__field(unsigned, gpio) +		__field(int, get) +		__field(int, value) +	), + +	TP_fast_assign( +		__entry->gpio = gpio; +		__entry->get = get; +		__entry->value = value; +	), + +	TP_printk("%u %3s %d", __entry->gpio, +		__entry->get ? "get" : "set", __entry->value) +); + +#endif /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */ + +/* This part must be outside protection */ +#include <trace/define_trace.h> diff --git a/include/trace/events/net.h b/include/trace/events/net.h index 5f247f5ffc56..f99645d05a8f 100644 --- a/include/trace/events/net.h +++ b/include/trace/events/net.h @@ -12,22 +12,24 @@  TRACE_EVENT(net_dev_xmit,  	TP_PROTO(struct sk_buff *skb, -		 int rc), +		 int rc, +		 struct net_device *dev, +		 unsigned int skb_len), -	TP_ARGS(skb, rc), +	TP_ARGS(skb, rc, dev, skb_len),  	TP_STRUCT__entry(  		__field(	void *,		skbaddr		)  		__field(	unsigned int,	len		)  		__field(	int,		rc		) -		__string(	name,		skb->dev->name	) +		__string(	name,		dev->name	)  	),  	TP_fast_assign(  		__entry->skbaddr = skb; -		__entry->len = skb->len; +		__entry->len = skb_len;  		__entry->rc = rc; -		__assign_str(name, skb->dev->name); +		__assign_str(name, dev->name);  	),  	TP_printk("dev=%s skbaddr=%p len=%u rc=%d", diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index ea422aaa23e1..b2c33bd955fa 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h @@ -6,6 +6,8 @@  #include <linux/types.h>  #include <linux/tracepoint.h> +#include <linux/mm.h> +#include <linux/memcontrol.h>  #include "gfpflags.h"  #define RECLAIM_WB_ANON		0x0001u @@ -310,6 +312,87 @@ TRACE_EVENT(mm_vmscan_lru_shrink_inactive,  		show_reclaim_flags(__entry->reclaim_flags))  ); +TRACE_EVENT(replace_swap_token, +	TP_PROTO(struct mm_struct *old_mm, +		 struct mm_struct *new_mm), + +	TP_ARGS(old_mm, new_mm), + +	TP_STRUCT__entry( +		__field(struct mm_struct*,	old_mm) +		__field(unsigned int,		old_prio) +		__field(struct mm_struct*,	new_mm) +		__field(unsigned int,		new_prio) +	), + +	TP_fast_assign( +		__entry->old_mm   = old_mm; +		__entry->old_prio = old_mm ? old_mm->token_priority : 0; +		__entry->new_mm   = new_mm; +		__entry->new_prio = new_mm->token_priority; +	), + +	TP_printk("old_token_mm=%p old_prio=%u new_token_mm=%p new_prio=%u", +		  __entry->old_mm, __entry->old_prio, +		  __entry->new_mm, __entry->new_prio) +); + +DECLARE_EVENT_CLASS(put_swap_token_template, +	TP_PROTO(struct mm_struct *swap_token_mm), + +	TP_ARGS(swap_token_mm), + +	TP_STRUCT__entry( +		__field(struct mm_struct*, swap_token_mm) +	), + +	TP_fast_assign( +		__entry->swap_token_mm = swap_token_mm; +	), + +	TP_printk("token_mm=%p", __entry->swap_token_mm) +); + +DEFINE_EVENT(put_swap_token_template, put_swap_token, +	TP_PROTO(struct mm_struct *swap_token_mm), +	TP_ARGS(swap_token_mm) +); + +DEFINE_EVENT_CONDITION(put_swap_token_template, disable_swap_token, +	TP_PROTO(struct mm_struct *swap_token_mm), +	TP_ARGS(swap_token_mm), +	TP_CONDITION(swap_token_mm != NULL) +); + +TRACE_EVENT_CONDITION(update_swap_token_priority, +	TP_PROTO(struct mm_struct *mm, +		 unsigned int old_prio, +		 struct mm_struct *swap_token_mm), + +	TP_ARGS(mm, old_prio, swap_token_mm), + +	TP_CONDITION(mm->token_priority != old_prio), + +	TP_STRUCT__entry( +		__field(struct mm_struct*, mm) +		__field(unsigned int, old_prio) +		__field(unsigned int, new_prio) +		__field(struct mm_struct*, swap_token_mm) +		__field(unsigned int, swap_token_prio) +	), + +	TP_fast_assign( +		__entry->mm		= mm; +		__entry->old_prio	= old_prio; +		__entry->new_prio	= mm->token_priority; +		__entry->swap_token_mm	= swap_token_mm; +		__entry->swap_token_prio = swap_token_mm ? swap_token_mm->token_priority : 0; +	), + +	TP_printk("mm=%p old_prio=%u new_prio=%u swap_token_mm=%p token_prio=%u", +		  __entry->mm, __entry->old_prio, __entry->new_prio, +		  __entry->swap_token_mm, __entry->swap_token_prio) +);  #endif /* _TRACE_VMSCAN_H */ diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 3e68366d485a..533c49f48047 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h @@ -205,6 +205,19 @@  		ftrace_print_symbols_seq(p, value, symbols);		\  	}) +#undef __print_symbolic_u64 +#if BITS_PER_LONG == 32 +#define __print_symbolic_u64(value, symbol_array...)			\ +	({								\ +		static const struct trace_print_flags_u64 symbols[] =	\ +			{ symbol_array, { -1, NULL } };			\ +		ftrace_print_symbols_seq_u64(p, value, symbols);	\ +	}) +#else +#define __print_symbolic_u64(value, symbol_array...)			\ +			__print_symbolic(value, symbol_array) +#endif +  #undef __print_hex  #define __print_hex(buf, buf_len) ftrace_print_hex_seq(p, buf, buf_len) |