diff options
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/ext4.h | 85 | ||||
| -rw-r--r-- | include/trace/events/mmflags.h | 2 | ||||
| -rw-r--r-- | include/trace/events/rxrpc.h | 27 | ||||
| -rw-r--r-- | include/trace/events/writeback.h | 14 | 
4 files changed, 105 insertions, 23 deletions
| diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index cc41d692ae8e..4c8b99ec8606 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -746,24 +746,29 @@ TRACE_EVENT(ext4_mb_release_group_pa,  );  TRACE_EVENT(ext4_discard_preallocations, -	TP_PROTO(struct inode *inode), +	TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed), -	TP_ARGS(inode), +	TP_ARGS(inode, len, needed),  	TP_STRUCT__entry( -		__field(	dev_t,	dev			) -		__field(	ino_t,	ino			) +		__field(	dev_t,		dev		) +		__field(	ino_t,		ino		) +		__field(	unsigned int,	len		) +		__field(	unsigned int,	needed		)  	),  	TP_fast_assign(  		__entry->dev	= inode->i_sb->s_dev;  		__entry->ino	= inode->i_ino; +		__entry->len	= len; +		__entry->needed	= needed;  	), -	TP_printk("dev %d,%d ino %lu", +	TP_printk("dev %d,%d ino %lu len: %u needed %u",  		  MAJOR(__entry->dev), MINOR(__entry->dev), -		  (unsigned long) __entry->ino) +		  (unsigned long) __entry->ino, __entry->len, +		  __entry->needed)  );  TRACE_EVENT(ext4_mb_discard_preallocations, @@ -1312,18 +1317,34 @@ DEFINE_EVENT(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,  	TP_ARGS(sb, group)  ); -DEFINE_EVENT(ext4__bitmap_load, ext4_read_block_bitmap_load, +DEFINE_EVENT(ext4__bitmap_load, ext4_load_inode_bitmap,  	TP_PROTO(struct super_block *sb, unsigned long group),  	TP_ARGS(sb, group)  ); -DEFINE_EVENT(ext4__bitmap_load, ext4_load_inode_bitmap, +TRACE_EVENT(ext4_read_block_bitmap_load, +	TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch), -	TP_PROTO(struct super_block *sb, unsigned long group), +	TP_ARGS(sb, group, prefetch), -	TP_ARGS(sb, group) +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	__u32,	group			) +		__field(	bool,	prefetch		) + +	), + +	TP_fast_assign( +		__entry->dev	= sb->s_dev; +		__entry->group	= group; +		__entry->prefetch = prefetch; +	), + +	TP_printk("dev %d,%d group %u prefetch %d", +		  MAJOR(__entry->dev), MINOR(__entry->dev), +		  __entry->group, __entry->prefetch)  );  TRACE_EVENT(ext4_direct_IO_enter, @@ -2726,6 +2747,50 @@ TRACE_EVENT(ext4_error,  		  __entry->function, __entry->line)  ); +TRACE_EVENT(ext4_prefetch_bitmaps, +	    TP_PROTO(struct super_block *sb, ext4_group_t group, +		     ext4_group_t next, unsigned int prefetch_ios), + +	TP_ARGS(sb, group, next, prefetch_ios), + +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	__u32,	group			) +		__field(	__u32,	next			) +		__field(	__u32,	ios			) +	), + +	TP_fast_assign( +		__entry->dev	= sb->s_dev; +		__entry->group	= group; +		__entry->next	= next; +		__entry->ios	= prefetch_ios; +	), + +	TP_printk("dev %d,%d group %u next %u ios %u", +		  MAJOR(__entry->dev), MINOR(__entry->dev), +		  __entry->group, __entry->next, __entry->ios) +); + +TRACE_EVENT(ext4_lazy_itable_init, +	    TP_PROTO(struct super_block *sb, ext4_group_t group), + +	TP_ARGS(sb, group), + +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	__u32,	group			) +	), + +	TP_fast_assign( +		__entry->dev	= sb->s_dev; +		__entry->group	= group; +	), + +	TP_printk("dev %d,%d group %u", +		  MAJOR(__entry->dev), MINOR(__entry->dev), __entry->group) +); +  #endif /* _TRACE_EXT4_H */  /* This part must be outside protection */ diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h index 939092dbcb8b..5fb752034386 100644 --- a/include/trace/events/mmflags.h +++ b/include/trace/events/mmflags.h @@ -114,6 +114,8 @@ IF_HAVE_PG_IDLE(PG_idle,		"idle"		)  #if defined(CONFIG_X86)  #define __VM_ARCH_SPECIFIC_1 {VM_PAT,     "pat"           } +#elif defined(CONFIG_PPC) +#define __VM_ARCH_SPECIFIC_1 {VM_SAO,     "sao"           }  #elif defined(CONFIG_PARISC) || defined(CONFIG_IA64)  #define __VM_ARCH_SPECIFIC_1 {VM_GROWSUP,	"growsup"	}  #elif !defined(CONFIG_MMU) diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h index 059b6e45a028..c33079b986e8 100644 --- a/include/trace/events/rxrpc.h +++ b/include/trace/events/rxrpc.h @@ -138,11 +138,16 @@ enum rxrpc_recvmsg_trace {  };  enum rxrpc_rtt_tx_trace { +	rxrpc_rtt_tx_cancel,  	rxrpc_rtt_tx_data, +	rxrpc_rtt_tx_no_slot,  	rxrpc_rtt_tx_ping,  };  enum rxrpc_rtt_rx_trace { +	rxrpc_rtt_rx_cancel, +	rxrpc_rtt_rx_lost, +	rxrpc_rtt_rx_obsolete,  	rxrpc_rtt_rx_ping_response,  	rxrpc_rtt_rx_requested_ack,  }; @@ -339,10 +344,15 @@ enum rxrpc_tx_point {  	E_(rxrpc_recvmsg_wait,			"WAIT")  #define rxrpc_rtt_tx_traces \ +	EM(rxrpc_rtt_tx_cancel,			"CNCE") \  	EM(rxrpc_rtt_tx_data,			"DATA") \ +	EM(rxrpc_rtt_tx_no_slot,		"FULL") \  	E_(rxrpc_rtt_tx_ping,			"PING")  #define rxrpc_rtt_rx_traces \ +	EM(rxrpc_rtt_rx_cancel,			"CNCL") \ +	EM(rxrpc_rtt_rx_obsolete,		"OBSL") \ +	EM(rxrpc_rtt_rx_lost,			"LOST") \  	EM(rxrpc_rtt_rx_ping_response,		"PONG") \  	E_(rxrpc_rtt_rx_requested_ack,		"RACK") @@ -1087,38 +1097,43 @@ TRACE_EVENT(rxrpc_recvmsg,  TRACE_EVENT(rxrpc_rtt_tx,  	    TP_PROTO(struct rxrpc_call *call, enum rxrpc_rtt_tx_trace why, -		     rxrpc_serial_t send_serial), +		     int slot, rxrpc_serial_t send_serial), -	    TP_ARGS(call, why, send_serial), +	    TP_ARGS(call, why, slot, send_serial),  	    TP_STRUCT__entry(  		    __field(unsigned int,		call		)  		    __field(enum rxrpc_rtt_tx_trace,	why		) +		    __field(int,			slot		)  		    __field(rxrpc_serial_t,		send_serial	)  			     ),  	    TP_fast_assign(  		    __entry->call = call->debug_id;  		    __entry->why = why; +		    __entry->slot = slot;  		    __entry->send_serial = send_serial;  			   ), -	    TP_printk("c=%08x %s sr=%08x", +	    TP_printk("c=%08x [%d] %s sr=%08x",  		      __entry->call, +		      __entry->slot,  		      __print_symbolic(__entry->why, rxrpc_rtt_tx_traces),  		      __entry->send_serial)  	    );  TRACE_EVENT(rxrpc_rtt_rx,  	    TP_PROTO(struct rxrpc_call *call, enum rxrpc_rtt_rx_trace why, +		     int slot,  		     rxrpc_serial_t send_serial, rxrpc_serial_t resp_serial,  		     u32 rtt, u32 rto), -	    TP_ARGS(call, why, send_serial, resp_serial, rtt, rto), +	    TP_ARGS(call, why, slot, send_serial, resp_serial, rtt, rto),  	    TP_STRUCT__entry(  		    __field(unsigned int,		call		)  		    __field(enum rxrpc_rtt_rx_trace,	why		) +		    __field(int,			slot		)  		    __field(rxrpc_serial_t,		send_serial	)  		    __field(rxrpc_serial_t,		resp_serial	)  		    __field(u32,			rtt		) @@ -1128,14 +1143,16 @@ TRACE_EVENT(rxrpc_rtt_rx,  	    TP_fast_assign(  		    __entry->call = call->debug_id;  		    __entry->why = why; +		    __entry->slot = slot;  		    __entry->send_serial = send_serial;  		    __entry->resp_serial = resp_serial;  		    __entry->rtt = rtt;  		    __entry->rto = rto;  			   ), -	    TP_printk("c=%08x %s sr=%08x rr=%08x rtt=%u rto=%u", +	    TP_printk("c=%08x [%d] %s sr=%08x rr=%08x rtt=%u rto=%u",  		      __entry->call, +		      __entry->slot,  		      __print_symbolic(__entry->why, rxrpc_rtt_rx_traces),  		      __entry->send_serial,  		      __entry->resp_serial, diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index 10f5d1fa7347..e7cbccc7c14c 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h @@ -20,7 +20,6 @@  		{I_CLEAR,		"I_CLEAR"},		\  		{I_SYNC,		"I_SYNC"},		\  		{I_DIRTY_TIME,		"I_DIRTY_TIME"},	\ -		{I_DIRTY_TIME_EXPIRED,	"I_DIRTY_TIME_EXPIRED"}, \  		{I_REFERENCED,		"I_REFERENCED"}		\  	) @@ -498,8 +497,9 @@ DEFINE_WBC_EVENT(wbc_writepage);  TRACE_EVENT(writeback_queue_io,  	TP_PROTO(struct bdi_writeback *wb,  		 struct wb_writeback_work *work, +		 unsigned long dirtied_before,  		 int moved), -	TP_ARGS(wb, work, moved), +	TP_ARGS(wb, work, dirtied_before, moved),  	TP_STRUCT__entry(  		__array(char,		name, 32)  		__field(unsigned long,	older) @@ -509,19 +509,17 @@ TRACE_EVENT(writeback_queue_io,  		__field(ino_t,		cgroup_ino)  	),  	TP_fast_assign( -		unsigned long *older_than_this = work->older_than_this;  		strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); -		__entry->older	= older_than_this ?  *older_than_this : 0; -		__entry->age	= older_than_this ? -				  (jiffies - *older_than_this) * 1000 / HZ : -1; +		__entry->older	= dirtied_before; +		__entry->age	= (jiffies - dirtied_before) * 1000 / HZ;  		__entry->moved	= moved;  		__entry->reason	= work->reason;  		__entry->cgroup_ino	= __trace_wb_assign_cgroup(wb);  	),  	TP_printk("bdi %s: older=%lu age=%ld enqueue=%d reason=%s cgroup_ino=%lu",  		__entry->name, -		__entry->older,	/* older_than_this in jiffies */ -		__entry->age,	/* older_than_this in relative milliseconds */ +		__entry->older,	/* dirtied_before in jiffies */ +		__entry->age,	/* dirtied_before in relative milliseconds */  		__entry->moved,  		__print_symbolic(__entry->reason, WB_WORK_REASON),  		(unsigned long)__entry->cgroup_ino |