diff options
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/alarmtimer.h | 6 | ||||
| -rw-r--r-- | include/trace/events/bcache.h | 12 | ||||
| -rw-r--r-- | include/trace/events/block.h | 31 | ||||
| -rw-r--r-- | include/trace/events/btrfs.h | 211 | ||||
| -rw-r--r-- | include/trace/events/dma_fence.h (renamed from include/trace/events/fence.h) | 44 | ||||
| -rw-r--r-- | include/trace/events/f2fs.h | 33 | ||||
| -rw-r--r-- | include/trace/events/i2c.h | 2 | ||||
| -rw-r--r-- | include/trace/events/mmflags.h | 5 | ||||
| -rw-r--r-- | include/trace/events/swiotlb.h | 17 | ||||
| -rw-r--r-- | include/trace/events/timer.h | 16 | ||||
| -rw-r--r-- | include/trace/events/wbt.h | 153 | 
11 files changed, 348 insertions, 182 deletions
| diff --git a/include/trace/events/alarmtimer.h b/include/trace/events/alarmtimer.h index a1c108c16c9c..ae4f358dd8e9 100644 --- a/include/trace/events/alarmtimer.h +++ b/include/trace/events/alarmtimer.h @@ -31,7 +31,7 @@ TRACE_EVENT(alarmtimer_suspend,  	),  	TP_fast_assign( -		__entry->expires = expires.tv64; +		__entry->expires = expires;  		__entry->alarm_type = flag;  	), @@ -57,8 +57,8 @@ DECLARE_EVENT_CLASS(alarm_class,  	TP_fast_assign(  		__entry->alarm = alarm;  		__entry->alarm_type = alarm->type; -		__entry->expires = alarm->node.expires.tv64; -		__entry->now = now.tv64; +		__entry->expires = alarm->node.expires; +		__entry->now = now;  	),  	TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu", diff --git a/include/trace/events/bcache.h b/include/trace/events/bcache.h index d336b890e31f..df3e9ae5ad8d 100644 --- a/include/trace/events/bcache.h +++ b/include/trace/events/bcache.h @@ -27,8 +27,7 @@ DECLARE_EVENT_CLASS(bcache_request,  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->orig_sector	= bio->bi_iter.bi_sector - 16;  		__entry->nr_sector	= bio->bi_iter.bi_size >> 9; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  	),  	TP_printk("%d,%d %s %llu + %u (from %d,%d @ %llu)", @@ -102,8 +101,7 @@ DECLARE_EVENT_CLASS(bcache_bio,  		__entry->dev		= bio->bi_bdev->bd_dev;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio->bi_iter.bi_size >> 9; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  	),  	TP_printk("%d,%d  %s %llu + %u", @@ -138,8 +136,7 @@ TRACE_EVENT(bcache_read,  		__entry->dev		= bio->bi_bdev->bd_dev;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio->bi_iter.bi_size >> 9; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  		__entry->cache_hit = hit;  		__entry->bypass = bypass;  	), @@ -170,8 +167,7 @@ TRACE_EVENT(bcache_write,  		__entry->inode		= inode;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio->bi_iter.bi_size >> 9; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  		__entry->writeback = writeback;  		__entry->bypass = bypass;  	), diff --git a/include/trace/events/block.h b/include/trace/events/block.h index 8f3a163b8166..3e02e3a25413 100644 --- a/include/trace/events/block.h +++ b/include/trace/events/block.h @@ -84,8 +84,7 @@ DECLARE_EVENT_CLASS(block_rq_with_error,  					0 : blk_rq_sectors(rq);  		__entry->errors    = rq->errors; -		blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, -			      blk_rq_bytes(rq)); +		blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));  		blk_dump_cmd(__get_str(cmd), rq);  	), @@ -163,7 +162,7 @@ TRACE_EVENT(block_rq_complete,  		__entry->nr_sector = nr_bytes >> 9;  		__entry->errors    = rq->errors; -		blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, nr_bytes); +		blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, nr_bytes);  		blk_dump_cmd(__get_str(cmd), rq);  	), @@ -199,8 +198,7 @@ DECLARE_EVENT_CLASS(block_rq,  		__entry->bytes     = (rq->cmd_type == REQ_TYPE_BLOCK_PC) ?  					blk_rq_bytes(rq) : 0; -		blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, -			      blk_rq_bytes(rq)); +		blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));  		blk_dump_cmd(__get_str(cmd), rq);  		memcpy(__entry->comm, current->comm, TASK_COMM_LEN);  	), @@ -274,8 +272,7 @@ TRACE_EVENT(block_bio_bounce,  					  bio->bi_bdev->bd_dev : 0;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio_sectors(bio); -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  		memcpy(__entry->comm, current->comm, TASK_COMM_LEN);  	), @@ -313,8 +310,7 @@ TRACE_EVENT(block_bio_complete,  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio_sectors(bio);  		__entry->error		= error; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  	),  	TP_printk("%d,%d %s %llu + %u [%d]", @@ -341,8 +337,7 @@ DECLARE_EVENT_CLASS(block_bio_merge,  		__entry->dev		= bio->bi_bdev->bd_dev;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio_sectors(bio); -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  		memcpy(__entry->comm, current->comm, TASK_COMM_LEN);  	), @@ -409,8 +404,7 @@ TRACE_EVENT(block_bio_queue,  		__entry->dev		= bio->bi_bdev->bd_dev;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->nr_sector	= bio_sectors(bio); -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  		memcpy(__entry->comm, current->comm, TASK_COMM_LEN);  	), @@ -438,7 +432,7 @@ DECLARE_EVENT_CLASS(block_get_rq,  		__entry->dev		= bio ? bio->bi_bdev->bd_dev : 0;  		__entry->sector		= bio ? bio->bi_iter.bi_sector : 0;  		__entry->nr_sector	= bio ? bio_sectors(bio) : 0; -		blk_fill_rwbs(__entry->rwbs, bio ? bio_op(bio) : 0, +		blk_fill_rwbs(__entry->rwbs,  			      bio ? bio->bi_opf : 0, __entry->nr_sector);  		memcpy(__entry->comm, current->comm, TASK_COMM_LEN);          ), @@ -573,8 +567,7 @@ TRACE_EVENT(block_split,  		__entry->dev		= bio->bi_bdev->bd_dev;  		__entry->sector		= bio->bi_iter.bi_sector;  		__entry->new_sector	= new_sector; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  		memcpy(__entry->comm, current->comm, TASK_COMM_LEN);  	), @@ -617,8 +610,7 @@ TRACE_EVENT(block_bio_remap,  		__entry->nr_sector	= bio_sectors(bio);  		__entry->old_dev	= dev;  		__entry->old_sector	= from; -		blk_fill_rwbs(__entry->rwbs, bio_op(bio), bio->bi_opf, -			      bio->bi_iter.bi_size); +		blk_fill_rwbs(__entry->rwbs, bio->bi_opf, bio->bi_iter.bi_size);  	),  	TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu", @@ -664,8 +656,7 @@ TRACE_EVENT(block_rq_remap,  		__entry->old_dev	= dev;  		__entry->old_sector	= from;  		__entry->nr_bios	= blk_rq_count_bios(rq); -		blk_fill_rwbs(__entry->rwbs, req_op(rq), rq->cmd_flags, -			      blk_rq_bytes(rq)); +		blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));  	),  	TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu %u", diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h index e030d6f6c19a..88d18a8ceb59 100644 --- a/include/trace/events/btrfs.h +++ b/include/trace/events/btrfs.h @@ -130,8 +130,8 @@ DECLARE_EVENT_CLASS(btrfs__inode,  				BTRFS_I(inode)->root->root_key.objectid;  	), -	TP_printk_btrfs("root = %llu(%s), gen = %llu, ino = %lu, blocks = %llu, " -		  "disk_i_size = %llu, last_trans = %llu, logged_trans = %llu", +	TP_printk_btrfs("root=%llu(%s) gen=%llu ino=%lu blocks=%llu " +		  "disk_i_size=%llu last_trans=%llu logged_trans=%llu",  		  show_root_type(__entry->root_objectid),  		  (unsigned long long)__entry->generation,  		  (unsigned long)__entry->ino, @@ -184,14 +184,16 @@ DEFINE_EVENT(btrfs__inode, btrfs_inode_evict,  TRACE_EVENT_CONDITION(btrfs_get_extent, -	TP_PROTO(struct btrfs_root *root, struct extent_map *map), +	TP_PROTO(struct btrfs_root *root, struct inode *inode, +		 struct extent_map *map), -	TP_ARGS(root, map), +	TP_ARGS(root, inode, map),  	TP_CONDITION(map),  	TP_STRUCT__entry_btrfs(  		__field(	u64,  root_objectid	) +		__field(	u64,  ino		)  		__field(	u64,  start		)  		__field(	u64,  len		)  		__field(	u64,  orig_start	) @@ -204,7 +206,8 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,  	TP_fast_assign_btrfs(root->fs_info,  		__entry->root_objectid	= root->root_key.objectid; -		__entry->start 		= map->start; +		__entry->ino		= btrfs_ino(inode); +		__entry->start		= map->start;  		__entry->len		= map->len;  		__entry->orig_start	= map->orig_start;  		__entry->block_start	= map->block_start; @@ -214,11 +217,12 @@ TRACE_EVENT_CONDITION(btrfs_get_extent,  		__entry->compress_type	= map->compress_type;  	), -	TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu, " -		  "orig_start = %llu, block_start = %llu(%s), " -		  "block_len = %llu, flags = %s, refs = %u, " -		  "compress_type = %u", +	TP_printk_btrfs("root=%llu(%s) ino=%llu start=%llu len=%llu " +		  "orig_start=%llu block_start=%llu(%s) " +		  "block_len=%llu flags=%s refs=%u " +		  "compress_type=%u",  		  show_root_type(__entry->root_objectid), +		  (unsigned long long)__entry->ino,  		  (unsigned long long)__entry->start,  		  (unsigned long long)__entry->len,  		  (unsigned long long)__entry->orig_start, @@ -259,6 +263,7 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent,  		__field(	int,  compress_type	)  		__field(	int,  refs		)  		__field(	u64,  root_objectid	) +		__field(	u64,  truncated_len	)  	),  	TP_fast_assign_btrfs(btrfs_sb(inode->i_sb), @@ -273,18 +278,21 @@ DECLARE_EVENT_CLASS(btrfs__ordered_extent,  		__entry->refs		= atomic_read(&ordered->refs);  		__entry->root_objectid	=  				BTRFS_I(inode)->root->root_key.objectid; +		__entry->truncated_len	= ordered->truncated_len;  	), -	TP_printk_btrfs("root = %llu(%s), ino = %llu, file_offset = %llu, " -		  "start = %llu, len = %llu, disk_len = %llu, " -		  "bytes_left = %llu, flags = %s, compress_type = %d, " -		  "refs = %d", +	TP_printk_btrfs("root=%llu(%s) ino=%llu file_offset=%llu " +		  "start=%llu len=%llu disk_len=%llu " +		  "truncated_len=%llu " +		  "bytes_left=%llu flags=%s compress_type=%d " +		  "refs=%d",  		  show_root_type(__entry->root_objectid),  		  (unsigned long long)__entry->ino,  		  (unsigned long long)__entry->file_offset,  		  (unsigned long long)__entry->start,  		  (unsigned long long)__entry->len,  		  (unsigned long long)__entry->disk_len, +		  (unsigned long long)__entry->truncated_len,  		  (unsigned long long)__entry->bytes_left,  		  show_ordered_flags(__entry->flags),  		  __entry->compress_type, __entry->refs) @@ -354,10 +362,10 @@ DECLARE_EVENT_CLASS(btrfs__writepage,  				 BTRFS_I(inode)->root->root_key.objectid;  	), -	TP_printk_btrfs("root = %llu(%s), ino = %lu, page_index = %lu, " -		  "nr_to_write = %ld, pages_skipped = %ld, range_start = %llu, " -		  "range_end = %llu, for_kupdate = %d, " -		  "for_reclaim = %d, range_cyclic = %d, writeback_index = %lu", +	TP_printk_btrfs("root=%llu(%s) ino=%lu page_index=%lu " +		  "nr_to_write=%ld pages_skipped=%ld range_start=%llu " +		  "range_end=%llu for_kupdate=%d " +		  "for_reclaim=%d range_cyclic=%d writeback_index=%lu",  		  show_root_type(__entry->root_objectid),  		  (unsigned long)__entry->ino, __entry->index,  		  __entry->nr_to_write, __entry->pages_skipped, @@ -400,8 +408,8 @@ TRACE_EVENT(btrfs_writepage_end_io_hook,  			 BTRFS_I(page->mapping->host)->root->root_key.objectid;  	), -	TP_printk_btrfs("root = %llu(%s), ino = %lu, page_index = %lu, start = %llu, " -		  "end = %llu, uptodate = %d", +	TP_printk_btrfs("root=%llu(%s) ino=%lu page_index=%lu start=%llu " +		  "end=%llu uptodate=%d",  		  show_root_type(__entry->root_objectid),  		  (unsigned long)__entry->ino, (unsigned long)__entry->index,  		  (unsigned long long)__entry->start, @@ -433,7 +441,7 @@ TRACE_EVENT(btrfs_sync_file,  				 BTRFS_I(inode)->root->root_key.objectid;  	), -	TP_printk_btrfs("root = %llu(%s), ino = %ld, parent = %ld, datasync = %d", +	TP_printk_btrfs("root=%llu(%s) ino=%ld parent=%ld datasync=%d",  		  show_root_type(__entry->root_objectid),  		  (unsigned long)__entry->ino, (unsigned long)__entry->parent,  		  __entry->datasync) @@ -484,9 +492,9 @@ TRACE_EVENT(btrfs_add_block_group,  		__entry->create		= create;  	), -	TP_printk("%pU: block_group offset = %llu, size = %llu, " -		  "flags = %llu(%s), bytes_used = %llu, bytes_super = %llu, " -		  "create = %d", __entry->fsid, +	TP_printk("%pU: block_group offset=%llu size=%llu " +		  "flags=%llu(%s) bytes_used=%llu bytes_super=%llu " +		  "create=%d", __entry->fsid,  		  (unsigned long long)__entry->offset,  		  (unsigned long long)__entry->size,  		  (unsigned long long)__entry->flags, @@ -535,9 +543,9 @@ DECLARE_EVENT_CLASS(btrfs_delayed_tree_ref,  		__entry->seq		= ref->seq;  	), -	TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, " -		  "parent = %llu(%s), ref_root = %llu(%s), level = %d, " -		  "type = %s, seq = %llu", +	TP_printk_btrfs("bytenr=%llu num_bytes=%llu action=%s " +		  "parent=%llu(%s) ref_root=%llu(%s) level=%d " +		  "type=%s seq=%llu",  		  (unsigned long long)__entry->bytenr,  		  (unsigned long long)__entry->num_bytes,  		  show_ref_action(__entry->action), @@ -600,9 +608,9 @@ DECLARE_EVENT_CLASS(btrfs_delayed_data_ref,  		__entry->seq		= ref->seq;  	), -	TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, " -		  "parent = %llu(%s), ref_root = %llu(%s), owner = %llu, " -		  "offset = %llu, type = %s, seq = %llu", +	TP_printk_btrfs("bytenr=%llu num_bytes=%llu action=%s " +		  "parent=%llu(%s) ref_root=%llu(%s) owner=%llu " +		  "offset=%llu type=%s seq=%llu",  		  (unsigned long long)__entry->bytenr,  		  (unsigned long long)__entry->num_bytes,  		  show_ref_action(__entry->action), @@ -657,7 +665,7 @@ DECLARE_EVENT_CLASS(btrfs_delayed_ref_head,  		__entry->is_data	= head_ref->is_data;  	), -	TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, action = %s, is_data = %d", +	TP_printk_btrfs("bytenr=%llu num_bytes=%llu action=%s is_data=%d",  		  (unsigned long long)__entry->bytenr,  		  (unsigned long long)__entry->num_bytes,  		  show_ref_action(__entry->action), @@ -698,10 +706,10 @@ DEFINE_EVENT(btrfs_delayed_ref_head,  run_delayed_ref_head,  DECLARE_EVENT_CLASS(btrfs__chunk, -	TP_PROTO(struct btrfs_root *root, struct map_lookup *map, +	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,  		 u64 offset, u64 size), -	TP_ARGS(root, map, offset, size), +	TP_ARGS(fs_info, map, offset, size),  	TP_STRUCT__entry_btrfs(  		__field(	int,  num_stripes		) @@ -712,17 +720,17 @@ DECLARE_EVENT_CLASS(btrfs__chunk,  		__field(	u64,  root_objectid		)  	), -	TP_fast_assign_btrfs(root->fs_info, +	TP_fast_assign_btrfs(fs_info,  		__entry->num_stripes	= map->num_stripes;  		__entry->type		= map->type;  		__entry->sub_stripes	= map->sub_stripes;  		__entry->offset		= offset;  		__entry->size		= size; -		__entry->root_objectid	= root->root_key.objectid; +		__entry->root_objectid	= fs_info->chunk_root->root_key.objectid;  	), -	TP_printk_btrfs("root = %llu(%s), offset = %llu, size = %llu, " -		  "num_stripes = %d, sub_stripes = %d, type = %s", +	TP_printk_btrfs("root=%llu(%s) offset=%llu size=%llu " +		  "num_stripes=%d sub_stripes=%d type=%s",  		  show_root_type(__entry->root_objectid),  		  (unsigned long long)__entry->offset,  		  (unsigned long long)__entry->size, @@ -732,18 +740,18 @@ DECLARE_EVENT_CLASS(btrfs__chunk,  DEFINE_EVENT(btrfs__chunk,  btrfs_chunk_alloc, -	TP_PROTO(struct btrfs_root *root, struct map_lookup *map, +	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,  		 u64 offset, u64 size), -	TP_ARGS(root, map, offset, size) +	TP_ARGS(fs_info, map, offset, size)  );  DEFINE_EVENT(btrfs__chunk,  btrfs_chunk_free, -	TP_PROTO(struct btrfs_root *root, struct map_lookup *map, +	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,  		 u64 offset, u64 size), -	TP_ARGS(root, map, offset, size) +	TP_ARGS(fs_info, map, offset, size)  );  TRACE_EVENT(btrfs_cow_block, @@ -771,8 +779,8 @@ TRACE_EVENT(btrfs_cow_block,  		__entry->cow_level	= btrfs_header_level(cow);  	), -	TP_printk_btrfs("root = %llu(%s), refs = %d, orig_buf = %llu " -		  "(orig_level = %d), cow_buf = %llu (cow_level = %d)", +	TP_printk_btrfs("root=%llu(%s) refs=%d orig_buf=%llu " +		  "(orig_level=%d) cow_buf=%llu (cow_level=%d)",  		  show_root_type(__entry->root_objectid),  		  __entry->refs,  		  (unsigned long long)__entry->buf_start, @@ -836,7 +844,7 @@ TRACE_EVENT(btrfs_trigger_flush,  		__assign_str(reason, reason)  	), -	TP_printk("%pU: %s: flush = %d(%s), flags = %llu(%s), bytes = %llu", +	TP_printk("%pU: %s: flush=%d(%s) flags=%llu(%s) bytes=%llu",  		  __entry->fsid, __get_str(reason), __entry->flush,  		  show_flush_action(__entry->flush),  		  (unsigned long long)__entry->flags, @@ -879,8 +887,8 @@ TRACE_EVENT(btrfs_flush_space,  		__entry->ret		=	ret;  	), -	TP_printk("%pU: state = %d(%s), flags = %llu(%s), num_bytes = %llu, " -		  "orig_bytes = %llu, ret = %d", __entry->fsid, __entry->state, +	TP_printk("%pU: state=%d(%s) flags=%llu(%s) num_bytes=%llu " +		  "orig_bytes=%llu ret=%d", __entry->fsid, __entry->state,  		  show_flush_state(__entry->state),  		  (unsigned long long)__entry->flags,  		  __print_flags((unsigned long)__entry->flags, "|", @@ -891,65 +899,61 @@ TRACE_EVENT(btrfs_flush_space,  DECLARE_EVENT_CLASS(btrfs__reserved_extent, -	TP_PROTO(struct btrfs_root *root, u64 start, u64 len), +	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len), -	TP_ARGS(root, start, len), +	TP_ARGS(fs_info, start, len),  	TP_STRUCT__entry_btrfs( -		__field(	u64,  root_objectid		)  		__field(	u64,  start			)  		__field(	u64,  len			)  	), -	TP_fast_assign_btrfs(root->fs_info, -		__entry->root_objectid	= root->root_key.objectid; +	TP_fast_assign_btrfs(fs_info,  		__entry->start		= start;  		__entry->len		= len;  	), -	TP_printk_btrfs("root = %llu(%s), start = %llu, len = %llu", -		  show_root_type(__entry->root_objectid), +	TP_printk_btrfs("root=%llu(%s) start=%llu len=%llu", +		  show_root_type(BTRFS_EXTENT_TREE_OBJECTID),  		  (unsigned long long)__entry->start,  		  (unsigned long long)__entry->len)  );  DEFINE_EVENT(btrfs__reserved_extent,  btrfs_reserved_extent_alloc, -	TP_PROTO(struct btrfs_root *root, u64 start, u64 len), +	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len), -	TP_ARGS(root, start, len) +	TP_ARGS(fs_info, start, len)  );  DEFINE_EVENT(btrfs__reserved_extent,  btrfs_reserved_extent_free, -	TP_PROTO(struct btrfs_root *root, u64 start, u64 len), +	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len), -	TP_ARGS(root, start, len) +	TP_ARGS(fs_info, start, len)  );  TRACE_EVENT(find_free_extent, -	TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size, +	TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,  		 u64 data), -	TP_ARGS(root, num_bytes, empty_size, data), +	TP_ARGS(fs_info, num_bytes, empty_size, data),  	TP_STRUCT__entry_btrfs( -		__field(	u64,	root_objectid		)  		__field(	u64,	num_bytes		)  		__field(	u64,	empty_size		)  		__field(	u64,	data			)  	), -	TP_fast_assign_btrfs(root->fs_info, -		__entry->root_objectid	= root->root_key.objectid; +	TP_fast_assign_btrfs(fs_info,  		__entry->num_bytes	= num_bytes;  		__entry->empty_size	= empty_size;  		__entry->data		= data;  	), -	TP_printk_btrfs("root = %Lu(%s), len = %Lu, empty_size = %Lu, " -		  "flags = %Lu(%s)", show_root_type(__entry->root_objectid), +	TP_printk_btrfs("root=%Lu(%s) len=%Lu empty_size=%Lu flags=%Lu(%s)", +		  show_root_type(BTRFS_EXTENT_TREE_OBJECTID),  		  __entry->num_bytes, __entry->empty_size, __entry->data,  		  __print_flags((unsigned long)__entry->data, "|",  				 BTRFS_GROUP_FLAGS)) @@ -957,31 +961,30 @@ TRACE_EVENT(find_free_extent,  DECLARE_EVENT_CLASS(btrfs__reserve_extent, -	TP_PROTO(struct btrfs_root *root, +	TP_PROTO(struct btrfs_fs_info *fs_info,  		 struct btrfs_block_group_cache *block_group, u64 start,  		 u64 len), -	TP_ARGS(root, block_group, start, len), +	TP_ARGS(fs_info, block_group, start, len),  	TP_STRUCT__entry_btrfs( -		__field(	u64,	root_objectid		)  		__field(	u64,	bg_objectid		)  		__field(	u64,	flags			)  		__field(	u64,	start			)  		__field(	u64,	len			)  	), -	TP_fast_assign_btrfs(root->fs_info, -		__entry->root_objectid	= root->root_key.objectid; +	TP_fast_assign_btrfs(fs_info,  		__entry->bg_objectid	= block_group->key.objectid;  		__entry->flags		= block_group->flags;  		__entry->start		= start;  		__entry->len		= len;  	), -	TP_printk_btrfs("root = %Lu(%s), block_group = %Lu, flags = %Lu(%s), " -		  "start = %Lu, len = %Lu", -		  show_root_type(__entry->root_objectid), __entry->bg_objectid, +	TP_printk_btrfs("root=%Lu(%s) block_group=%Lu flags=%Lu(%s) " +		  "start=%Lu len=%Lu", +		  show_root_type(BTRFS_EXTENT_TREE_OBJECTID), +		  __entry->bg_objectid,  		  __entry->flags, __print_flags((unsigned long)__entry->flags,  						"|", BTRFS_GROUP_FLAGS),  		  __entry->start, __entry->len) @@ -989,20 +992,20 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent,  DEFINE_EVENT(btrfs__reserve_extent, btrfs_reserve_extent, -	TP_PROTO(struct btrfs_root *root, +	TP_PROTO(struct btrfs_fs_info *fs_info,  		 struct btrfs_block_group_cache *block_group, u64 start,  		 u64 len), -	TP_ARGS(root, block_group, start, len) +	TP_ARGS(fs_info, block_group, start, len)  );  DEFINE_EVENT(btrfs__reserve_extent, btrfs_reserve_extent_cluster, -	TP_PROTO(struct btrfs_root *root, +	TP_PROTO(struct btrfs_fs_info *fs_info,  		 struct btrfs_block_group_cache *block_group, u64 start,  		 u64 len), -	TP_ARGS(root, block_group, start, len) +	TP_ARGS(fs_info, block_group, start, len)  );  TRACE_EVENT(btrfs_find_cluster, @@ -1030,8 +1033,8 @@ TRACE_EVENT(btrfs_find_cluster,  		__entry->min_bytes	= min_bytes;  	), -	TP_printk_btrfs("block_group = %Lu, flags = %Lu(%s), start = %Lu, len = %Lu," -		  " empty_size = %Lu, min_bytes = %Lu", __entry->bg_objectid, +	TP_printk_btrfs("block_group=%Lu flags=%Lu(%s) start=%Lu len=%Lu " +		  "empty_size=%Lu min_bytes=%Lu", __entry->bg_objectid,  		  __entry->flags,  		  __print_flags((unsigned long)__entry->flags, "|",  				BTRFS_GROUP_FLAGS), __entry->start, @@ -1052,7 +1055,7 @@ TRACE_EVENT(btrfs_failed_cluster_setup,  		__entry->bg_objectid	= block_group->key.objectid;  	), -	TP_printk_btrfs("block_group = %Lu", __entry->bg_objectid) +	TP_printk_btrfs("block_group=%Lu", __entry->bg_objectid)  );  TRACE_EVENT(btrfs_setup_cluster, @@ -1080,8 +1083,8 @@ TRACE_EVENT(btrfs_setup_cluster,  		__entry->bitmap		= bitmap;  	), -	TP_printk_btrfs("block_group = %Lu, flags = %Lu(%s), window_start = %Lu, " -		  "size = %Lu, max_size = %Lu, bitmap = %d", +	TP_printk_btrfs("block_group=%Lu flags=%Lu(%s) window_start=%Lu " +		  "size=%Lu max_size=%Lu bitmap=%d",  		  __entry->bg_objectid,  		  __entry->flags,  		  __print_flags((unsigned long)__entry->flags, "|", @@ -1108,7 +1111,7 @@ TRACE_EVENT(alloc_extent_state,  		__entry->ip	= IP  	), -	TP_printk("state=%p; mask = %s; caller = %pS", __entry->state, +	TP_printk("state=%p mask=%s caller=%pS", __entry->state,  		  show_gfp_flags(__entry->mask), (void *)__entry->ip)  ); @@ -1128,7 +1131,7 @@ TRACE_EVENT(free_extent_state,  		__entry->ip = IP  	), -	TP_printk(" state=%p; caller = %pS", __entry->state, +	TP_printk("state=%p caller=%pS", __entry->state,  		  (void *)__entry->ip)  ); @@ -1156,28 +1159,32 @@ DECLARE_EVENT_CLASS(btrfs__work,  		__entry->normal_work	= &work->normal_work;  	), -	TP_printk_btrfs("work=%p (normal_work=%p), wq=%p, func=%pf, ordered_func=%p," -		  " ordered_free=%p", +	TP_printk_btrfs("work=%p (normal_work=%p) wq=%p func=%pf ordered_func=%p " +		  "ordered_free=%p",  		  __entry->work, __entry->normal_work, __entry->wq,  		   __entry->func, __entry->ordered_func, __entry->ordered_free)  ); -/* For situiations that the work is freed */ +/* + * For situiations when the work is freed, we pass fs_info and a tag that that + * matches address of the work structure so it can be paired with the + * scheduling event. + */  DECLARE_EVENT_CLASS(btrfs__work__done, -	TP_PROTO(struct btrfs_work *work), +	TP_PROTO(struct btrfs_fs_info *fs_info, void *wtag), -	TP_ARGS(work), +	TP_ARGS(fs_info, wtag),  	TP_STRUCT__entry_btrfs( -		__field(	void *,	work			) +		__field(	void *,	wtag			)  	), -	TP_fast_assign_btrfs(btrfs_work_owner(work), -		__entry->work		= work; +	TP_fast_assign_btrfs(fs_info, +		__entry->wtag		= wtag;  	), -	TP_printk_btrfs("work->%p", __entry->work) +	TP_printk_btrfs("work->%p", __entry->wtag)  );  DEFINE_EVENT(btrfs__work, btrfs_work_queued, @@ -1196,9 +1203,9 @@ DEFINE_EVENT(btrfs__work, btrfs_work_sched,  DEFINE_EVENT(btrfs__work__done, btrfs_all_work_done, -	TP_PROTO(struct btrfs_work *work), +	TP_PROTO(struct btrfs_fs_info *fs_info, void *wtag), -	TP_ARGS(work) +	TP_ARGS(fs_info, wtag)  );  DEFINE_EVENT(btrfs__work, btrfs_ordered_sched, @@ -1226,7 +1233,7 @@ DECLARE_EVENT_CLASS(btrfs__workqueue,  		__entry->high		= high;  	), -	TP_printk_btrfs("name=%s%s, wq=%p", __get_str(name), +	TP_printk_btrfs("name=%s%s wq=%p", __get_str(name),  		  __print_flags(__entry->high, "",  				{(WQ_HIGHPRI),	"-high"}),  		  __entry->wq) @@ -1281,7 +1288,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_data_map,  		__entry->free_reserved	=	free_reserved;  	), -	TP_printk_btrfs("rootid=%llu, ino=%lu, free_reserved=%llu", +	TP_printk_btrfs("rootid=%llu ino=%lu free_reserved=%llu",  		  __entry->rootid, __entry->ino, __entry->free_reserved)  ); @@ -1328,7 +1335,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_rsv_data,  		__entry->op		= op;  	), -	TP_printk_btrfs("root=%llu, ino=%lu, start=%llu, len=%llu, reserved=%llu, op=%s", +	TP_printk_btrfs("root=%llu ino=%lu start=%llu len=%llu reserved=%llu op=%s",  		  __entry->rootid, __entry->ino, __entry->start, __entry->len,  		  __entry->reserved,  		  __print_flags((unsigned long)__entry->op, "", @@ -1366,7 +1373,7 @@ DECLARE_EVENT_CLASS(btrfs__qgroup_delayed_ref,  		__entry->reserved	= reserved;  	), -	TP_printk_btrfs("root=%llu, reserved=%llu, op=free", +	TP_printk_btrfs("root=%llu reserved=%llu op=free",  		  __entry->ref_root, __entry->reserved)  ); @@ -1393,7 +1400,7 @@ DECLARE_EVENT_CLASS(btrfs_qgroup_extent,  		__entry->num_bytes	= rec->num_bytes;  	), -	TP_printk_btrfs("bytenr = %llu, num_bytes = %llu", +	TP_printk_btrfs("bytenr=%llu num_bytes=%llu",  		  (unsigned long long)__entry->bytenr,  		  (unsigned long long)__entry->num_bytes)  ); @@ -1406,7 +1413,7 @@ DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_account_extents,  	TP_ARGS(fs_info, rec)  ); -DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_insert_dirty_extent, +DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_trace_extent,  	TP_PROTO(struct btrfs_fs_info *fs_info,  		 struct btrfs_qgroup_extent_record *rec), @@ -1435,8 +1442,8 @@ TRACE_EVENT(btrfs_qgroup_account_extent,  		__entry->nr_new_roots	= nr_new_roots;  	), -	TP_printk_btrfs("bytenr = %llu, num_bytes = %llu, nr_old_roots = %llu, " -		  "nr_new_roots = %llu", +	TP_printk_btrfs("bytenr=%llu num_bytes=%llu nr_old_roots=%llu " +		  "nr_new_roots=%llu",  		  __entry->bytenr,  		  __entry->num_bytes,  		  __entry->nr_old_roots, @@ -1462,7 +1469,7 @@ TRACE_EVENT(qgroup_update_counters,  		__entry->cur_new_count	= cur_new_count;  	), -	TP_printk_btrfs("qgid = %llu, cur_old_count = %llu, cur_new_count = %llu", +	TP_printk_btrfs("qgid=%llu cur_old_count=%llu cur_new_count=%llu",  		  __entry->qgid,  		  __entry->cur_old_count,  		  __entry->cur_new_count) diff --git a/include/trace/events/fence.h b/include/trace/events/dma_fence.h index d6dfa05ba322..1157cb4c3c6f 100644 --- a/include/trace/events/fence.h +++ b/include/trace/events/dma_fence.h @@ -1,17 +1,17 @@  #undef TRACE_SYSTEM -#define TRACE_SYSTEM fence +#define TRACE_SYSTEM dma_fence  #if !defined(_TRACE_FENCE_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_FENCE_H +#define _TRACE_DMA_FENCE_H  #include <linux/tracepoint.h> -struct fence; +struct dma_fence; -TRACE_EVENT(fence_annotate_wait_on, +TRACE_EVENT(dma_fence_annotate_wait_on,  	/* fence: the fence waiting on f1, f1: the fence to be waited on. */ -	TP_PROTO(struct fence *fence, struct fence *f1), +	TP_PROTO(struct dma_fence *fence, struct dma_fence *f1),  	TP_ARGS(fence, f1), @@ -48,9 +48,9 @@ TRACE_EVENT(fence_annotate_wait_on,  		  __entry->waiting_context, __entry->waiting_seqno)  ); -DECLARE_EVENT_CLASS(fence, +DECLARE_EVENT_CLASS(dma_fence, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence), @@ -73,56 +73,56 @@ DECLARE_EVENT_CLASS(fence,  		  __entry->seqno)  ); -DEFINE_EVENT(fence, fence_emit, +DEFINE_EVENT(dma_fence, dma_fence_emit, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -DEFINE_EVENT(fence, fence_init, +DEFINE_EVENT(dma_fence, dma_fence_init, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -DEFINE_EVENT(fence, fence_destroy, +DEFINE_EVENT(dma_fence, dma_fence_destroy, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -DEFINE_EVENT(fence, fence_enable_signal, +DEFINE_EVENT(dma_fence, dma_fence_enable_signal, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -DEFINE_EVENT(fence, fence_signaled, +DEFINE_EVENT(dma_fence, dma_fence_signaled, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -DEFINE_EVENT(fence, fence_wait_start, +DEFINE_EVENT(dma_fence, dma_fence_wait_start, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -DEFINE_EVENT(fence, fence_wait_end, +DEFINE_EVENT(dma_fence, dma_fence_wait_end, -	TP_PROTO(struct fence *fence), +	TP_PROTO(struct dma_fence *fence),  	TP_ARGS(fence)  ); -#endif /*  _TRACE_FENCE_H */ +#endif /*  _TRACE_DMA_FENCE_H */  /* This part must be outside protection */  #include <trace/define_trace.h> diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h index 903a09165bb1..01b3c9869a0d 100644 --- a/include/trace/events/f2fs.h +++ b/include/trace/events/f2fs.h @@ -32,7 +32,7 @@ TRACE_DEFINE_ENUM(LFS);  TRACE_DEFINE_ENUM(SSR);  TRACE_DEFINE_ENUM(__REQ_RAHEAD);  TRACE_DEFINE_ENUM(__REQ_SYNC); -TRACE_DEFINE_ENUM(__REQ_NOIDLE); +TRACE_DEFINE_ENUM(__REQ_IDLE);  TRACE_DEFINE_ENUM(__REQ_PREFLUSH);  TRACE_DEFINE_ENUM(__REQ_FUA);  TRACE_DEFINE_ENUM(__REQ_PRIO); @@ -55,7 +55,7 @@ TRACE_DEFINE_ENUM(CP_DISCARD);  		{ IPU,		"IN-PLACE" },				\  		{ OPU,		"OUT-OF-PLACE" }) -#define F2FS_BIO_FLAG_MASK(t)	(t & (REQ_RAHEAD | WRITE_FLUSH_FUA)) +#define F2FS_BIO_FLAG_MASK(t)	(t & (REQ_RAHEAD | REQ_PREFLUSH | REQ_FUA))  #define F2FS_BIO_EXTRA_MASK(t)	(t & (REQ_META | REQ_PRIO))  #define show_bio_type(op_flags)	show_bio_op_flags(op_flags), 		\ @@ -65,11 +65,9 @@ TRACE_DEFINE_ENUM(CP_DISCARD);  	__print_symbolic(F2FS_BIO_FLAG_MASK(flags),			\  		{ 0,			"WRITE" },			\  		{ REQ_RAHEAD, 		"READAHEAD" },			\ -		{ READ_SYNC, 		"READ_SYNC" },			\ -		{ WRITE_SYNC, 		"WRITE_SYNC" },			\ -		{ WRITE_FLUSH,		"WRITE_FLUSH" },		\ -		{ WRITE_FUA, 		"WRITE_FUA" },			\ -		{ WRITE_FLUSH_FUA,	"WRITE_FLUSH_FUA" }) +		{ REQ_SYNC, 		"REQ_SYNC" },			\ +		{ REQ_PREFLUSH,		"REQ_PREFLUSH" },		\ +		{ REQ_FUA,		"REQ_FUA" })  #define show_bio_extra(type)						\  	__print_symbolic(F2FS_BIO_EXTRA_MASK(type),			\ @@ -1113,6 +1111,27 @@ TRACE_EVENT(f2fs_issue_discard,  		(unsigned long long)__entry->blklen)  ); +TRACE_EVENT(f2fs_issue_reset_zone, + +	TP_PROTO(struct super_block *sb, block_t blkstart), + +	TP_ARGS(sb, blkstart), + +	TP_STRUCT__entry( +		__field(dev_t,	dev) +		__field(block_t, blkstart) +	), + +	TP_fast_assign( +		__entry->dev	= sb->s_dev; +		__entry->blkstart = blkstart; +	), + +	TP_printk("dev = (%d,%d), reset zone at block = 0x%llx", +		show_dev(__entry), +		(unsigned long long)__entry->blkstart) +); +  TRACE_EVENT(f2fs_issue_flush,  	TP_PROTO(struct super_block *sb, unsigned int nobarrier, diff --git a/include/trace/events/i2c.h b/include/trace/events/i2c.h index fe17187df65d..4abb8eab34d3 100644 --- a/include/trace/events/i2c.h +++ b/include/trace/events/i2c.h @@ -20,7 +20,7 @@  /*   * drivers/i2c/i2c-core.c   */ -extern void i2c_transfer_trace_reg(void); +extern int i2c_transfer_trace_reg(void);  extern void i2c_transfer_trace_unreg(void);  /* diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h index 5a81ab48a2fb..15bf875d0e4a 100644 --- a/include/trace/events/mmflags.h +++ b/include/trace/events/mmflags.h @@ -47,8 +47,7 @@  	{(unsigned long)__GFP_WRITE,		"__GFP_WRITE"},		\  	{(unsigned long)__GFP_RECLAIM,		"__GFP_RECLAIM"},	\  	{(unsigned long)__GFP_DIRECT_RECLAIM,	"__GFP_DIRECT_RECLAIM"},\ -	{(unsigned long)__GFP_KSWAPD_RECLAIM,	"__GFP_KSWAPD_RECLAIM"},\ -	{(unsigned long)__GFP_OTHER_NODE,	"__GFP_OTHER_NODE"}	\ +	{(unsigned long)__GFP_KSWAPD_RECLAIM,	"__GFP_KSWAPD_RECLAIM"}\  #define show_gfp_flags(flags)						\  	(flags) ? __print_flags(flags, "|",				\ @@ -81,6 +80,7 @@  #define __def_pageflag_names						\  	{1UL << PG_locked,		"locked"	},		\ +	{1UL << PG_waiters,		"waiters"	},		\  	{1UL << PG_error,		"error"		},		\  	{1UL << PG_referenced,		"referenced"	},		\  	{1UL << PG_uptodate,		"uptodate"	},		\ @@ -95,7 +95,6 @@  	{1UL << PG_private_2,		"private_2"	},		\  	{1UL << PG_writeback,		"writeback"	},		\  	{1UL << PG_head,		"head"		},		\ -	{1UL << PG_swapcache,		"swapcache"	},		\  	{1UL << PG_mappedtodisk,	"mappedtodisk"	},		\  	{1UL << PG_reclaim,		"reclaim"	},		\  	{1UL << PG_swapbacked,		"swapbacked"	},		\ diff --git a/include/trace/events/swiotlb.h b/include/trace/events/swiotlb.h index 7ea4c5e7c448..288c0c54a2b4 100644 --- a/include/trace/events/swiotlb.h +++ b/include/trace/events/swiotlb.h @@ -11,16 +11,16 @@ TRACE_EVENT(swiotlb_bounced,  	TP_PROTO(struct device *dev,  		 dma_addr_t dev_addr,  		 size_t size, -		 int swiotlb_force), +		 enum swiotlb_force swiotlb_force),  	TP_ARGS(dev, dev_addr, size, swiotlb_force),  	TP_STRUCT__entry( -		__string(	dev_name,	dev_name(dev)	) -		__field(	u64,	dma_mask		) -		__field(	dma_addr_t,	dev_addr	) -		__field(	size_t,	size			) -		__field(	int,	swiotlb_force		) +		__string(	dev_name,	dev_name(dev)		) +		__field(	u64,	dma_mask			) +		__field(	dma_addr_t,	dev_addr		) +		__field(	size_t,	size				) +		__field(	enum swiotlb_force,	swiotlb_force	)  	),  	TP_fast_assign( @@ -37,7 +37,10 @@ TRACE_EVENT(swiotlb_bounced,  		__entry->dma_mask,  		(unsigned long long)__entry->dev_addr,  		__entry->size, -		__entry->swiotlb_force ? "swiotlb_force" : "" ) +		__print_symbolic(__entry->swiotlb_force, +			{ SWIOTLB_NORMAL,	"NORMAL" }, +			{ SWIOTLB_FORCE,	"FORCE" }, +			{ SWIOTLB_NO_FORCE,	"NO_FORCE" }))  );  #endif /*  _TRACE_SWIOTLB_H */ diff --git a/include/trace/events/timer.h b/include/trace/events/timer.h index 28c5da6fdfac..1448637616d6 100644 --- a/include/trace/events/timer.h +++ b/include/trace/events/timer.h @@ -177,16 +177,14 @@ TRACE_EVENT(hrtimer_start,  	TP_fast_assign(  		__entry->hrtimer	= hrtimer;  		__entry->function	= hrtimer->function; -		__entry->expires	= hrtimer_get_expires(hrtimer).tv64; -		__entry->softexpires	= hrtimer_get_softexpires(hrtimer).tv64; +		__entry->expires	= hrtimer_get_expires(hrtimer); +		__entry->softexpires	= hrtimer_get_softexpires(hrtimer);  	),  	TP_printk("hrtimer=%p function=%pf expires=%llu softexpires=%llu",  		  __entry->hrtimer, __entry->function, -		  (unsigned long long)ktime_to_ns((ktime_t) { -				  .tv64 = __entry->expires }), -		  (unsigned long long)ktime_to_ns((ktime_t) { -				  .tv64 = __entry->softexpires })) +		  (unsigned long long) __entry->expires, +		  (unsigned long long) __entry->softexpires)  );  /** @@ -211,13 +209,13 @@ TRACE_EVENT(hrtimer_expire_entry,  	TP_fast_assign(  		__entry->hrtimer	= hrtimer; -		__entry->now		= now->tv64; +		__entry->now		= *now;  		__entry->function	= hrtimer->function;  	),  	TP_printk("hrtimer=%p function=%pf now=%llu", __entry->hrtimer, __entry->function, -		  (unsigned long long)ktime_to_ns((ktime_t) { .tv64 = __entry->now })) - ); +		  (unsigned long long) __entry->now) +);  DECLARE_EVENT_CLASS(hrtimer_class, diff --git a/include/trace/events/wbt.h b/include/trace/events/wbt.h new file mode 100644 index 000000000000..3c518e455680 --- /dev/null +++ b/include/trace/events/wbt.h @@ -0,0 +1,153 @@ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM wbt + +#if !defined(_TRACE_WBT_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_WBT_H + +#include <linux/tracepoint.h> +#include "../../../block/blk-wbt.h" + +/** + * wbt_stat - trace stats for blk_wb + * @stat: array of read/write stats + */ +TRACE_EVENT(wbt_stat, + +	TP_PROTO(struct backing_dev_info *bdi, struct blk_rq_stat *stat), + +	TP_ARGS(bdi, stat), + +	TP_STRUCT__entry( +		__array(char, name, 32) +		__field(s64, rmean) +		__field(u64, rmin) +		__field(u64, rmax) +		__field(s64, rnr_samples) +		__field(s64, rtime) +		__field(s64, wmean) +		__field(u64, wmin) +		__field(u64, wmax) +		__field(s64, wnr_samples) +		__field(s64, wtime) +	), + +	TP_fast_assign( +		strncpy(__entry->name, dev_name(bdi->dev), 32); +		__entry->rmean		= stat[0].mean; +		__entry->rmin		= stat[0].min; +		__entry->rmax		= stat[0].max; +		__entry->rnr_samples	= stat[0].nr_samples; +		__entry->wmean		= stat[1].mean; +		__entry->wmin		= stat[1].min; +		__entry->wmax		= stat[1].max; +		__entry->wnr_samples	= stat[1].nr_samples; +	), + +	TP_printk("%s: rmean=%llu, rmin=%llu, rmax=%llu, rsamples=%llu, " +		  "wmean=%llu, wmin=%llu, wmax=%llu, wsamples=%llu\n", +		  __entry->name, __entry->rmean, __entry->rmin, __entry->rmax, +		  __entry->rnr_samples, __entry->wmean, __entry->wmin, +		  __entry->wmax, __entry->wnr_samples) +); + +/** + * wbt_lat - trace latency event + * @lat: latency trigger + */ +TRACE_EVENT(wbt_lat, + +	TP_PROTO(struct backing_dev_info *bdi, unsigned long lat), + +	TP_ARGS(bdi, lat), + +	TP_STRUCT__entry( +		__array(char, name, 32) +		__field(unsigned long, lat) +	), + +	TP_fast_assign( +		strncpy(__entry->name, dev_name(bdi->dev), 32); +		__entry->lat = div_u64(lat, 1000); +	), + +	TP_printk("%s: latency %lluus\n", __entry->name, +			(unsigned long long) __entry->lat) +); + +/** + * wbt_step - trace wb event step + * @msg: context message + * @step: the current scale step count + * @window: the current monitoring window + * @bg: the current background queue limit + * @normal: the current normal writeback limit + * @max: the current max throughput writeback limit + */ +TRACE_EVENT(wbt_step, + +	TP_PROTO(struct backing_dev_info *bdi, const char *msg, +		 int step, unsigned long window, unsigned int bg, +		 unsigned int normal, unsigned int max), + +	TP_ARGS(bdi, msg, step, window, bg, normal, max), + +	TP_STRUCT__entry( +		__array(char, name, 32) +		__field(const char *, msg) +		__field(int, step) +		__field(unsigned long, window) +		__field(unsigned int, bg) +		__field(unsigned int, normal) +		__field(unsigned int, max) +	), + +	TP_fast_assign( +		strncpy(__entry->name, dev_name(bdi->dev), 32); +		__entry->msg	= msg; +		__entry->step	= step; +		__entry->window	= div_u64(window, 1000); +		__entry->bg	= bg; +		__entry->normal	= normal; +		__entry->max	= max; +	), + +	TP_printk("%s: %s: step=%d, window=%luus, background=%u, normal=%u, max=%u\n", +		  __entry->name, __entry->msg, __entry->step, __entry->window, +		  __entry->bg, __entry->normal, __entry->max) +); + +/** + * wbt_timer - trace wb timer event + * @status: timer state status + * @step: the current scale step count + * @inflight: tracked writes inflight + */ +TRACE_EVENT(wbt_timer, + +	TP_PROTO(struct backing_dev_info *bdi, unsigned int status, +		 int step, unsigned int inflight), + +	TP_ARGS(bdi, status, step, inflight), + +	TP_STRUCT__entry( +		__array(char, name, 32) +		__field(unsigned int, status) +		__field(int, step) +		__field(unsigned int, inflight) +	), + +	TP_fast_assign( +		strncpy(__entry->name, dev_name(bdi->dev), 32); +		__entry->status		= status; +		__entry->step		= step; +		__entry->inflight	= inflight; +	), + +	TP_printk("%s: status=%u, step=%d, inflight=%u\n", __entry->name, +		  __entry->status, __entry->step, __entry->inflight) +); + +#endif /* _TRACE_WBT_H */ + +/* This part must be outside protection */ +#include <trace/define_trace.h> |