diff options
| author | Len Brown <len.brown@intel.com> | 2012-06-04 00:35:19 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2012-06-04 00:35:19 -0400 |
| commit | 7e1bd6e38b1f30860ce25a014c6d6adfb0079f4a (patch) | |
| tree | 65c5898ba93007d4399150c7a127a670bcfbc30d /include/trace | |
| parent | 301f33fbcf4ced53b3de114846ecece5d6aafeeb (diff) | |
| parent | f8f5701bdaf9134b1f90e5044a82c66324d2073f (diff) | |
Merge branch 'upstream' into bugfix-video
Update bugfix-video branch to 2.5-rc1
so I don't have to again resolve the
conflict in these patches vs. upstream.
Conflicts:
drivers/gpu/drm/gma500/psb_drv.c
text conflict: add comment vs delete neighboring line
keep just this:
/* igd_opregion_init(&dev_priv->opregion_dev); */
/* acpi_video_register(); */
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/asoc.h | 80 | ||||
| -rw-r--r-- | include/trace/events/ext3.h | 4 | ||||
| -rw-r--r-- | include/trace/events/ext4.h | 4 | ||||
| -rw-r--r-- | include/trace/events/jbd.h | 39 | ||||
| -rw-r--r-- | include/trace/events/power.h | 34 | ||||
| -rw-r--r-- | include/trace/events/rcu.h | 2 | ||||
| -rw-r--r-- | include/trace/events/vmscan.h | 122 | ||||
| -rw-r--r-- | include/trace/events/workqueue.h | 2 | ||||
| -rw-r--r-- | include/trace/events/writeback.h | 36 |
9 files changed, 176 insertions, 147 deletions
diff --git a/include/trace/events/asoc.h b/include/trace/events/asoc.h index ab26f8aa3c78..5fc2dcdd21cd 100644 --- a/include/trace/events/asoc.h +++ b/include/trace/events/asoc.h | |||
| @@ -7,6 +7,8 @@ | |||
| 7 | #include <linux/ktime.h> | 7 | #include <linux/ktime.h> |
| 8 | #include <linux/tracepoint.h> | 8 | #include <linux/tracepoint.h> |
| 9 | 9 | ||
| 10 | #define DAPM_DIRECT "(direct)" | ||
| 11 | |||
| 10 | struct snd_soc_jack; | 12 | struct snd_soc_jack; |
| 11 | struct snd_soc_codec; | 13 | struct snd_soc_codec; |
| 12 | struct snd_soc_platform; | 14 | struct snd_soc_platform; |
| @@ -241,6 +243,84 @@ TRACE_EVENT(snd_soc_dapm_walk_done, | |||
| 241 | (int)__entry->path_checks, (int)__entry->neighbour_checks) | 243 | (int)__entry->path_checks, (int)__entry->neighbour_checks) |
| 242 | ); | 244 | ); |
| 243 | 245 | ||
| 246 | TRACE_EVENT(snd_soc_dapm_output_path, | ||
| 247 | |||
| 248 | TP_PROTO(struct snd_soc_dapm_widget *widget, | ||
| 249 | struct snd_soc_dapm_path *path), | ||
| 250 | |||
| 251 | TP_ARGS(widget, path), | ||
| 252 | |||
| 253 | TP_STRUCT__entry( | ||
| 254 | __string( wname, widget->name ) | ||
| 255 | __string( pname, path->name ? path->name : DAPM_DIRECT) | ||
| 256 | __string( psname, path->sink->name ) | ||
| 257 | __field( int, path_sink ) | ||
| 258 | __field( int, path_connect ) | ||
| 259 | ), | ||
| 260 | |||
| 261 | TP_fast_assign( | ||
| 262 | __assign_str(wname, widget->name); | ||
| 263 | __assign_str(pname, path->name ? path->name : DAPM_DIRECT); | ||
| 264 | __assign_str(psname, path->sink->name); | ||
| 265 | __entry->path_connect = path->connect; | ||
| 266 | __entry->path_sink = (long)path->sink; | ||
| 267 | ), | ||
| 268 | |||
| 269 | TP_printk("%c%s -> %s -> %s\n", | ||
| 270 | (int) __entry->path_sink && | ||
| 271 | (int) __entry->path_connect ? '*' : ' ', | ||
| 272 | __get_str(wname), __get_str(pname), __get_str(psname)) | ||
| 273 | ); | ||
| 274 | |||
| 275 | TRACE_EVENT(snd_soc_dapm_input_path, | ||
| 276 | |||
| 277 | TP_PROTO(struct snd_soc_dapm_widget *widget, | ||
| 278 | struct snd_soc_dapm_path *path), | ||
| 279 | |||
| 280 | TP_ARGS(widget, path), | ||
| 281 | |||
| 282 | TP_STRUCT__entry( | ||
| 283 | __string( wname, widget->name ) | ||
| 284 | __string( pname, path->name ? path->name : DAPM_DIRECT) | ||
| 285 | __string( psname, path->source->name ) | ||
| 286 | __field( int, path_source ) | ||
| 287 | __field( int, path_connect ) | ||
| 288 | ), | ||
| 289 | |||
| 290 | TP_fast_assign( | ||
| 291 | __assign_str(wname, widget->name); | ||
| 292 | __assign_str(pname, path->name ? path->name : DAPM_DIRECT); | ||
| 293 | __assign_str(psname, path->source->name); | ||
| 294 | __entry->path_connect = path->connect; | ||
| 295 | __entry->path_source = (long)path->source; | ||
| 296 | ), | ||
| 297 | |||
| 298 | TP_printk("%c%s <- %s <- %s\n", | ||
| 299 | (int) __entry->path_source && | ||
| 300 | (int) __entry->path_connect ? '*' : ' ', | ||
| 301 | __get_str(wname), __get_str(pname), __get_str(psname)) | ||
| 302 | ); | ||
| 303 | |||
| 304 | TRACE_EVENT(snd_soc_dapm_connected, | ||
| 305 | |||
| 306 | TP_PROTO(int paths, int stream), | ||
| 307 | |||
| 308 | TP_ARGS(paths, stream), | ||
| 309 | |||
| 310 | TP_STRUCT__entry( | ||
| 311 | __field( int, paths ) | ||
| 312 | __field( int, stream ) | ||
| 313 | ), | ||
| 314 | |||
| 315 | TP_fast_assign( | ||
| 316 | __entry->paths = paths; | ||
| 317 | __entry->stream = stream; | ||
| 318 | ), | ||
| 319 | |||
| 320 | TP_printk("%s: found %d paths\n", | ||
| 321 | __entry->stream ? "capture" : "playback", __entry->paths) | ||
| 322 | ); | ||
| 323 | |||
| 244 | TRACE_EVENT(snd_soc_jack_irq, | 324 | TRACE_EVENT(snd_soc_jack_irq, |
| 245 | 325 | ||
| 246 | TP_PROTO(const char *name), | 326 | TP_PROTO(const char *name), |
diff --git a/include/trace/events/ext3.h b/include/trace/events/ext3.h index 7b53c0573dc9..15d11a39be47 100644 --- a/include/trace/events/ext3.h +++ b/include/trace/events/ext3.h | |||
| @@ -24,8 +24,8 @@ TRACE_EVENT(ext3_free_inode, | |||
| 24 | __entry->dev = inode->i_sb->s_dev; | 24 | __entry->dev = inode->i_sb->s_dev; |
| 25 | __entry->ino = inode->i_ino; | 25 | __entry->ino = inode->i_ino; |
| 26 | __entry->mode = inode->i_mode; | 26 | __entry->mode = inode->i_mode; |
| 27 | __entry->uid = inode->i_uid; | 27 | __entry->uid = i_uid_read(inode); |
| 28 | __entry->gid = inode->i_gid; | 28 | __entry->gid = i_gid_read(inode); |
| 29 | __entry->blocks = inode->i_blocks; | 29 | __entry->blocks = inode->i_blocks; |
| 30 | ), | 30 | ), |
| 31 | 31 | ||
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index 319538bf17d2..69d8a69ea831 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h | |||
| @@ -36,8 +36,8 @@ TRACE_EVENT(ext4_free_inode, | |||
| 36 | __entry->dev = inode->i_sb->s_dev; | 36 | __entry->dev = inode->i_sb->s_dev; |
| 37 | __entry->ino = inode->i_ino; | 37 | __entry->ino = inode->i_ino; |
| 38 | __entry->mode = inode->i_mode; | 38 | __entry->mode = inode->i_mode; |
| 39 | __entry->uid = inode->i_uid; | 39 | __entry->uid = i_uid_read(inode); |
| 40 | __entry->gid = inode->i_gid; | 40 | __entry->gid = i_gid_read(inode); |
| 41 | __entry->blocks = inode->i_blocks; | 41 | __entry->blocks = inode->i_blocks; |
| 42 | ), | 42 | ), |
| 43 | 43 | ||
diff --git a/include/trace/events/jbd.h b/include/trace/events/jbd.h index aff64d82d713..da6f2591c25e 100644 --- a/include/trace/events/jbd.h +++ b/include/trace/events/jbd.h | |||
| @@ -36,19 +36,17 @@ DECLARE_EVENT_CLASS(jbd_commit, | |||
| 36 | 36 | ||
| 37 | TP_STRUCT__entry( | 37 | TP_STRUCT__entry( |
| 38 | __field( dev_t, dev ) | 38 | __field( dev_t, dev ) |
| 39 | __field( char, sync_commit ) | ||
| 40 | __field( int, transaction ) | 39 | __field( int, transaction ) |
| 41 | ), | 40 | ), |
| 42 | 41 | ||
| 43 | TP_fast_assign( | 42 | TP_fast_assign( |
| 44 | __entry->dev = journal->j_fs_dev->bd_dev; | 43 | __entry->dev = journal->j_fs_dev->bd_dev; |
| 45 | __entry->sync_commit = commit_transaction->t_synchronous_commit; | ||
| 46 | __entry->transaction = commit_transaction->t_tid; | 44 | __entry->transaction = commit_transaction->t_tid; |
| 47 | ), | 45 | ), |
| 48 | 46 | ||
| 49 | TP_printk("dev %d,%d transaction %d sync %d", | 47 | TP_printk("dev %d,%d transaction %d", |
| 50 | MAJOR(__entry->dev), MINOR(__entry->dev), | 48 | MAJOR(__entry->dev), MINOR(__entry->dev), |
| 51 | __entry->transaction, __entry->sync_commit) | 49 | __entry->transaction) |
| 52 | ); | 50 | ); |
| 53 | 51 | ||
| 54 | DEFINE_EVENT(jbd_commit, jbd_start_commit, | 52 | DEFINE_EVENT(jbd_commit, jbd_start_commit, |
| @@ -87,19 +85,17 @@ TRACE_EVENT(jbd_drop_transaction, | |||
| 87 | 85 | ||
| 88 | TP_STRUCT__entry( | 86 | TP_STRUCT__entry( |
| 89 | __field( dev_t, dev ) | 87 | __field( dev_t, dev ) |
| 90 | __field( char, sync_commit ) | ||
| 91 | __field( int, transaction ) | 88 | __field( int, transaction ) |
| 92 | ), | 89 | ), |
| 93 | 90 | ||
| 94 | TP_fast_assign( | 91 | TP_fast_assign( |
| 95 | __entry->dev = journal->j_fs_dev->bd_dev; | 92 | __entry->dev = journal->j_fs_dev->bd_dev; |
| 96 | __entry->sync_commit = commit_transaction->t_synchronous_commit; | ||
| 97 | __entry->transaction = commit_transaction->t_tid; | 93 | __entry->transaction = commit_transaction->t_tid; |
| 98 | ), | 94 | ), |
| 99 | 95 | ||
| 100 | TP_printk("dev %d,%d transaction %d sync %d", | 96 | TP_printk("dev %d,%d transaction %d", |
| 101 | MAJOR(__entry->dev), MINOR(__entry->dev), | 97 | MAJOR(__entry->dev), MINOR(__entry->dev), |
| 102 | __entry->transaction, __entry->sync_commit) | 98 | __entry->transaction) |
| 103 | ); | 99 | ); |
| 104 | 100 | ||
| 105 | TRACE_EVENT(jbd_end_commit, | 101 | TRACE_EVENT(jbd_end_commit, |
| @@ -109,21 +105,19 @@ TRACE_EVENT(jbd_end_commit, | |||
| 109 | 105 | ||
| 110 | TP_STRUCT__entry( | 106 | TP_STRUCT__entry( |
| 111 | __field( dev_t, dev ) | 107 | __field( dev_t, dev ) |
| 112 | __field( char, sync_commit ) | ||
| 113 | __field( int, transaction ) | 108 | __field( int, transaction ) |
| 114 | __field( int, head ) | 109 | __field( int, head ) |
| 115 | ), | 110 | ), |
| 116 | 111 | ||
| 117 | TP_fast_assign( | 112 | TP_fast_assign( |
| 118 | __entry->dev = journal->j_fs_dev->bd_dev; | 113 | __entry->dev = journal->j_fs_dev->bd_dev; |
| 119 | __entry->sync_commit = commit_transaction->t_synchronous_commit; | ||
| 120 | __entry->transaction = commit_transaction->t_tid; | 114 | __entry->transaction = commit_transaction->t_tid; |
| 121 | __entry->head = journal->j_tail_sequence; | 115 | __entry->head = journal->j_tail_sequence; |
| 122 | ), | 116 | ), |
| 123 | 117 | ||
| 124 | TP_printk("dev %d,%d transaction %d sync %d head %d", | 118 | TP_printk("dev %d,%d transaction %d head %d", |
| 125 | MAJOR(__entry->dev), MINOR(__entry->dev), | 119 | MAJOR(__entry->dev), MINOR(__entry->dev), |
| 126 | __entry->transaction, __entry->sync_commit, __entry->head) | 120 | __entry->transaction, __entry->head) |
| 127 | ); | 121 | ); |
| 128 | 122 | ||
| 129 | TRACE_EVENT(jbd_do_submit_data, | 123 | TRACE_EVENT(jbd_do_submit_data, |
| @@ -133,19 +127,17 @@ TRACE_EVENT(jbd_do_submit_data, | |||
| 133 | 127 | ||
| 134 | TP_STRUCT__entry( | 128 | TP_STRUCT__entry( |
| 135 | __field( dev_t, dev ) | 129 | __field( dev_t, dev ) |
| 136 | __field( char, sync_commit ) | ||
| 137 | __field( int, transaction ) | 130 | __field( int, transaction ) |
| 138 | ), | 131 | ), |
| 139 | 132 | ||
| 140 | TP_fast_assign( | 133 | TP_fast_assign( |
| 141 | __entry->dev = journal->j_fs_dev->bd_dev; | 134 | __entry->dev = journal->j_fs_dev->bd_dev; |
| 142 | __entry->sync_commit = commit_transaction->t_synchronous_commit; | ||
| 143 | __entry->transaction = commit_transaction->t_tid; | 135 | __entry->transaction = commit_transaction->t_tid; |
| 144 | ), | 136 | ), |
| 145 | 137 | ||
| 146 | TP_printk("dev %d,%d transaction %d sync %d", | 138 | TP_printk("dev %d,%d transaction %d", |
| 147 | MAJOR(__entry->dev), MINOR(__entry->dev), | 139 | MAJOR(__entry->dev), MINOR(__entry->dev), |
| 148 | __entry->transaction, __entry->sync_commit) | 140 | __entry->transaction) |
| 149 | ); | 141 | ); |
| 150 | 142 | ||
| 151 | TRACE_EVENT(jbd_cleanup_journal_tail, | 143 | TRACE_EVENT(jbd_cleanup_journal_tail, |
| @@ -177,24 +169,23 @@ TRACE_EVENT(jbd_cleanup_journal_tail, | |||
| 177 | __entry->block_nr, __entry->freed) | 169 | __entry->block_nr, __entry->freed) |
| 178 | ); | 170 | ); |
| 179 | 171 | ||
| 180 | TRACE_EVENT(jbd_update_superblock_end, | 172 | TRACE_EVENT(journal_write_superblock, |
| 181 | TP_PROTO(journal_t *journal, int wait), | 173 | TP_PROTO(journal_t *journal, int write_op), |
| 182 | 174 | ||
| 183 | TP_ARGS(journal, wait), | 175 | TP_ARGS(journal, write_op), |
| 184 | 176 | ||
| 185 | TP_STRUCT__entry( | 177 | TP_STRUCT__entry( |
| 186 | __field( dev_t, dev ) | 178 | __field( dev_t, dev ) |
| 187 | __field( int, wait ) | 179 | __field( int, write_op ) |
| 188 | ), | 180 | ), |
| 189 | 181 | ||
| 190 | TP_fast_assign( | 182 | TP_fast_assign( |
| 191 | __entry->dev = journal->j_fs_dev->bd_dev; | 183 | __entry->dev = journal->j_fs_dev->bd_dev; |
| 192 | __entry->wait = wait; | 184 | __entry->write_op = write_op; |
| 193 | ), | 185 | ), |
| 194 | 186 | ||
| 195 | TP_printk("dev %d,%d wait %d", | 187 | TP_printk("dev %d,%d write_op %x", MAJOR(__entry->dev), |
| 196 | MAJOR(__entry->dev), MINOR(__entry->dev), | 188 | MINOR(__entry->dev), __entry->write_op) |
| 197 | __entry->wait) | ||
| 198 | ); | 189 | ); |
| 199 | 190 | ||
| 200 | #endif /* _TRACE_JBD_H */ | 191 | #endif /* _TRACE_JBD_H */ |
diff --git a/include/trace/events/power.h b/include/trace/events/power.h index cae9a94f025d..0c9783841a30 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h | |||
| @@ -65,6 +65,40 @@ TRACE_EVENT(machine_suspend, | |||
| 65 | TP_printk("state=%lu", (unsigned long)__entry->state) | 65 | TP_printk("state=%lu", (unsigned long)__entry->state) |
| 66 | ); | 66 | ); |
| 67 | 67 | ||
| 68 | DECLARE_EVENT_CLASS(wakeup_source, | ||
| 69 | |||
| 70 | TP_PROTO(const char *name, unsigned int state), | ||
| 71 | |||
| 72 | TP_ARGS(name, state), | ||
| 73 | |||
| 74 | TP_STRUCT__entry( | ||
| 75 | __string( name, name ) | ||
| 76 | __field( u64, state ) | ||
| 77 | ), | ||
| 78 | |||
| 79 | TP_fast_assign( | ||
| 80 | __assign_str(name, name); | ||
| 81 | __entry->state = state; | ||
| 82 | ), | ||
| 83 | |||
| 84 | TP_printk("%s state=0x%lx", __get_str(name), | ||
| 85 | (unsigned long)__entry->state) | ||
| 86 | ); | ||
| 87 | |||
| 88 | DEFINE_EVENT(wakeup_source, wakeup_source_activate, | ||
| 89 | |||
| 90 | TP_PROTO(const char *name, unsigned int state), | ||
| 91 | |||
| 92 | TP_ARGS(name, state) | ||
| 93 | ); | ||
| 94 | |||
| 95 | DEFINE_EVENT(wakeup_source, wakeup_source_deactivate, | ||
| 96 | |||
| 97 | TP_PROTO(const char *name, unsigned int state), | ||
| 98 | |||
| 99 | TP_ARGS(name, state) | ||
| 100 | ); | ||
| 101 | |||
| 68 | #ifdef CONFIG_EVENT_POWER_TRACING_DEPRECATED | 102 | #ifdef CONFIG_EVENT_POWER_TRACING_DEPRECATED |
| 69 | 103 | ||
| 70 | /* | 104 | /* |
diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h index 337099783f37..1480900c511c 100644 --- a/include/trace/events/rcu.h +++ b/include/trace/events/rcu.h | |||
| @@ -292,6 +292,8 @@ TRACE_EVENT(rcu_dyntick, | |||
| 292 | * "More callbacks": Still more callbacks, try again to clear them out. | 292 | * "More callbacks": Still more callbacks, try again to clear them out. |
| 293 | * "Callbacks drained": All callbacks processed, off to dyntick idle! | 293 | * "Callbacks drained": All callbacks processed, off to dyntick idle! |
| 294 | * "Timer": Timer fired to cause CPU to continue processing callbacks. | 294 | * "Timer": Timer fired to cause CPU to continue processing callbacks. |
| 295 | * "Demigrate": Timer fired on wrong CPU, woke up correct CPU. | ||
| 296 | * "Cleanup after idle": Idle exited, timer canceled. | ||
| 295 | */ | 297 | */ |
| 296 | TRACE_EVENT(rcu_prep_idle, | 298 | TRACE_EVENT(rcu_prep_idle, |
| 297 | 299 | ||
diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index f64560e204bc..bab3b87e4064 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | #define RECLAIM_WB_ANON 0x0001u | 13 | #define RECLAIM_WB_ANON 0x0001u |
| 14 | #define RECLAIM_WB_FILE 0x0002u | 14 | #define RECLAIM_WB_FILE 0x0002u |
| 15 | #define RECLAIM_WB_MIXED 0x0010u | 15 | #define RECLAIM_WB_MIXED 0x0010u |
| 16 | #define RECLAIM_WB_SYNC 0x0004u | 16 | #define RECLAIM_WB_SYNC 0x0004u /* Unused, all reclaim async */ |
| 17 | #define RECLAIM_WB_ASYNC 0x0008u | 17 | #define RECLAIM_WB_ASYNC 0x0008u |
| 18 | 18 | ||
| 19 | #define show_reclaim_flags(flags) \ | 19 | #define show_reclaim_flags(flags) \ |
| @@ -25,15 +25,15 @@ | |||
| 25 | {RECLAIM_WB_ASYNC, "RECLAIM_WB_ASYNC"} \ | 25 | {RECLAIM_WB_ASYNC, "RECLAIM_WB_ASYNC"} \ |
| 26 | ) : "RECLAIM_WB_NONE" | 26 | ) : "RECLAIM_WB_NONE" |
| 27 | 27 | ||
| 28 | #define trace_reclaim_flags(page, sync) ( \ | 28 | #define trace_reclaim_flags(page) ( \ |
| 29 | (page_is_file_cache(page) ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \ | 29 | (page_is_file_cache(page) ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \ |
| 30 | (sync & RECLAIM_MODE_SYNC ? RECLAIM_WB_SYNC : RECLAIM_WB_ASYNC) \ | 30 | (RECLAIM_WB_ASYNC) \ |
| 31 | ) | 31 | ) |
| 32 | 32 | ||
| 33 | #define trace_shrink_flags(file, sync) ( \ | 33 | #define trace_shrink_flags(file) \ |
| 34 | (sync & RECLAIM_MODE_SYNC ? RECLAIM_WB_MIXED : \ | 34 | ( \ |
| 35 | (file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON)) | \ | 35 | (file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \ |
| 36 | (sync & RECLAIM_MODE_SYNC ? RECLAIM_WB_SYNC : RECLAIM_WB_ASYNC) \ | 36 | (RECLAIM_WB_ASYNC) \ |
| 37 | ) | 37 | ) |
| 38 | 38 | ||
| 39 | TRACE_EVENT(mm_vmscan_kswapd_sleep, | 39 | TRACE_EVENT(mm_vmscan_kswapd_sleep, |
| @@ -263,22 +263,16 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, | |||
| 263 | unsigned long nr_requested, | 263 | unsigned long nr_requested, |
| 264 | unsigned long nr_scanned, | 264 | unsigned long nr_scanned, |
| 265 | unsigned long nr_taken, | 265 | unsigned long nr_taken, |
| 266 | unsigned long nr_lumpy_taken, | ||
| 267 | unsigned long nr_lumpy_dirty, | ||
| 268 | unsigned long nr_lumpy_failed, | ||
| 269 | isolate_mode_t isolate_mode, | 266 | isolate_mode_t isolate_mode, |
| 270 | int file), | 267 | int file), |
| 271 | 268 | ||
| 272 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file), | 269 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, isolate_mode, file), |
| 273 | 270 | ||
| 274 | TP_STRUCT__entry( | 271 | TP_STRUCT__entry( |
| 275 | __field(int, order) | 272 | __field(int, order) |
| 276 | __field(unsigned long, nr_requested) | 273 | __field(unsigned long, nr_requested) |
| 277 | __field(unsigned long, nr_scanned) | 274 | __field(unsigned long, nr_scanned) |
| 278 | __field(unsigned long, nr_taken) | 275 | __field(unsigned long, nr_taken) |
| 279 | __field(unsigned long, nr_lumpy_taken) | ||
| 280 | __field(unsigned long, nr_lumpy_dirty) | ||
| 281 | __field(unsigned long, nr_lumpy_failed) | ||
| 282 | __field(isolate_mode_t, isolate_mode) | 276 | __field(isolate_mode_t, isolate_mode) |
| 283 | __field(int, file) | 277 | __field(int, file) |
| 284 | ), | 278 | ), |
| @@ -288,22 +282,16 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, | |||
| 288 | __entry->nr_requested = nr_requested; | 282 | __entry->nr_requested = nr_requested; |
| 289 | __entry->nr_scanned = nr_scanned; | 283 | __entry->nr_scanned = nr_scanned; |
| 290 | __entry->nr_taken = nr_taken; | 284 | __entry->nr_taken = nr_taken; |
| 291 | __entry->nr_lumpy_taken = nr_lumpy_taken; | ||
| 292 | __entry->nr_lumpy_dirty = nr_lumpy_dirty; | ||
| 293 | __entry->nr_lumpy_failed = nr_lumpy_failed; | ||
| 294 | __entry->isolate_mode = isolate_mode; | 285 | __entry->isolate_mode = isolate_mode; |
| 295 | __entry->file = file; | 286 | __entry->file = file; |
| 296 | ), | 287 | ), |
| 297 | 288 | ||
| 298 | TP_printk("isolate_mode=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu contig_taken=%lu contig_dirty=%lu contig_failed=%lu file=%d", | 289 | TP_printk("isolate_mode=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu file=%d", |
| 299 | __entry->isolate_mode, | 290 | __entry->isolate_mode, |
| 300 | __entry->order, | 291 | __entry->order, |
| 301 | __entry->nr_requested, | 292 | __entry->nr_requested, |
| 302 | __entry->nr_scanned, | 293 | __entry->nr_scanned, |
| 303 | __entry->nr_taken, | 294 | __entry->nr_taken, |
| 304 | __entry->nr_lumpy_taken, | ||
| 305 | __entry->nr_lumpy_dirty, | ||
| 306 | __entry->nr_lumpy_failed, | ||
| 307 | __entry->file) | 295 | __entry->file) |
| 308 | ); | 296 | ); |
| 309 | 297 | ||
| @@ -313,13 +301,10 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, | |||
| 313 | unsigned long nr_requested, | 301 | unsigned long nr_requested, |
| 314 | unsigned long nr_scanned, | 302 | unsigned long nr_scanned, |
| 315 | unsigned long nr_taken, | 303 | unsigned long nr_taken, |
| 316 | unsigned long nr_lumpy_taken, | ||
| 317 | unsigned long nr_lumpy_dirty, | ||
| 318 | unsigned long nr_lumpy_failed, | ||
| 319 | isolate_mode_t isolate_mode, | 304 | isolate_mode_t isolate_mode, |
| 320 | int file), | 305 | int file), |
| 321 | 306 | ||
| 322 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file) | 307 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, isolate_mode, file) |
| 323 | 308 | ||
| 324 | ); | 309 | ); |
| 325 | 310 | ||
| @@ -329,13 +314,10 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate, | |||
| 329 | unsigned long nr_requested, | 314 | unsigned long nr_requested, |
| 330 | unsigned long nr_scanned, | 315 | unsigned long nr_scanned, |
| 331 | unsigned long nr_taken, | 316 | unsigned long nr_taken, |
| 332 | unsigned long nr_lumpy_taken, | ||
| 333 | unsigned long nr_lumpy_dirty, | ||
| 334 | unsigned long nr_lumpy_failed, | ||
| 335 | isolate_mode_t isolate_mode, | 317 | isolate_mode_t isolate_mode, |
| 336 | int file), | 318 | int file), |
| 337 | 319 | ||
| 338 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file) | 320 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, isolate_mode, file) |
| 339 | 321 | ||
| 340 | ); | 322 | ); |
| 341 | 323 | ||
| @@ -395,88 +377,6 @@ TRACE_EVENT(mm_vmscan_lru_shrink_inactive, | |||
| 395 | show_reclaim_flags(__entry->reclaim_flags)) | 377 | show_reclaim_flags(__entry->reclaim_flags)) |
| 396 | ); | 378 | ); |
| 397 | 379 | ||
| 398 | TRACE_EVENT(replace_swap_token, | ||
| 399 | TP_PROTO(struct mm_struct *old_mm, | ||
| 400 | struct mm_struct *new_mm), | ||
| 401 | |||
| 402 | TP_ARGS(old_mm, new_mm), | ||
| 403 | |||
| 404 | TP_STRUCT__entry( | ||
| 405 | __field(struct mm_struct*, old_mm) | ||
| 406 | __field(unsigned int, old_prio) | ||
| 407 | __field(struct mm_struct*, new_mm) | ||
| 408 | __field(unsigned int, new_prio) | ||
| 409 | ), | ||
| 410 | |||
| 411 | TP_fast_assign( | ||
| 412 | __entry->old_mm = old_mm; | ||
| 413 | __entry->old_prio = old_mm ? old_mm->token_priority : 0; | ||
| 414 | __entry->new_mm = new_mm; | ||
| 415 | __entry->new_prio = new_mm->token_priority; | ||
| 416 | ), | ||
| 417 | |||
| 418 | TP_printk("old_token_mm=%p old_prio=%u new_token_mm=%p new_prio=%u", | ||
| 419 | __entry->old_mm, __entry->old_prio, | ||
| 420 | __entry->new_mm, __entry->new_prio) | ||
| 421 | ); | ||
| 422 | |||
| 423 | DECLARE_EVENT_CLASS(put_swap_token_template, | ||
| 424 | TP_PROTO(struct mm_struct *swap_token_mm), | ||
| 425 | |||
| 426 | TP_ARGS(swap_token_mm), | ||
| 427 | |||
| 428 | TP_STRUCT__entry( | ||
| 429 | __field(struct mm_struct*, swap_token_mm) | ||
| 430 | ), | ||
| 431 | |||
| 432 | TP_fast_assign( | ||
| 433 | __entry->swap_token_mm = swap_token_mm; | ||
| 434 | ), | ||
| 435 | |||
| 436 | TP_printk("token_mm=%p", __entry->swap_token_mm) | ||
| 437 | ); | ||
| 438 | |||
| 439 | DEFINE_EVENT(put_swap_token_template, put_swap_token, | ||
| 440 | TP_PROTO(struct mm_struct *swap_token_mm), | ||
| 441 | TP_ARGS(swap_token_mm) | ||
| 442 | ); | ||
| 443 | |||
| 444 | DEFINE_EVENT_CONDITION(put_swap_token_template, disable_swap_token, | ||
| 445 | TP_PROTO(struct mm_struct *swap_token_mm), | ||
| 446 | TP_ARGS(swap_token_mm), | ||
| 447 | TP_CONDITION(swap_token_mm != NULL) | ||
| 448 | ); | ||
| 449 | |||
| 450 | TRACE_EVENT_CONDITION(update_swap_token_priority, | ||
| 451 | TP_PROTO(struct mm_struct *mm, | ||
| 452 | unsigned int old_prio, | ||
| 453 | struct mm_struct *swap_token_mm), | ||
| 454 | |||
| 455 | TP_ARGS(mm, old_prio, swap_token_mm), | ||
| 456 | |||
| 457 | TP_CONDITION(mm->token_priority != old_prio), | ||
| 458 | |||
| 459 | TP_STRUCT__entry( | ||
| 460 | __field(struct mm_struct*, mm) | ||
| 461 | __field(unsigned int, old_prio) | ||
| 462 | __field(unsigned int, new_prio) | ||
| 463 | __field(struct mm_struct*, swap_token_mm) | ||
| 464 | __field(unsigned int, swap_token_prio) | ||
| 465 | ), | ||
| 466 | |||
| 467 | TP_fast_assign( | ||
| 468 | __entry->mm = mm; | ||
| 469 | __entry->old_prio = old_prio; | ||
| 470 | __entry->new_prio = mm->token_priority; | ||
| 471 | __entry->swap_token_mm = swap_token_mm; | ||
| 472 | __entry->swap_token_prio = swap_token_mm ? swap_token_mm->token_priority : 0; | ||
| 473 | ), | ||
| 474 | |||
| 475 | TP_printk("mm=%p old_prio=%u new_prio=%u swap_token_mm=%p token_prio=%u", | ||
| 476 | __entry->mm, __entry->old_prio, __entry->new_prio, | ||
| 477 | __entry->swap_token_mm, __entry->swap_token_prio) | ||
| 478 | ); | ||
| 479 | |||
| 480 | #endif /* _TRACE_VMSCAN_H */ | 380 | #endif /* _TRACE_VMSCAN_H */ |
| 481 | 381 | ||
| 482 | /* This part must be outside protection */ | 382 | /* This part must be outside protection */ |
diff --git a/include/trace/events/workqueue.h b/include/trace/events/workqueue.h index 7d497291c85d..4018f5058f27 100644 --- a/include/trace/events/workqueue.h +++ b/include/trace/events/workqueue.h | |||
| @@ -103,7 +103,7 @@ TRACE_EVENT(workqueue_execute_start, | |||
| 103 | ); | 103 | ); |
| 104 | 104 | ||
| 105 | /** | 105 | /** |
| 106 | * workqueue_execute_end - called immediately before the workqueue callback | 106 | * workqueue_execute_end - called immediately after the workqueue callback |
| 107 | * @work: pointer to struct work_struct | 107 | * @work: pointer to struct work_struct |
| 108 | * | 108 | * |
| 109 | * Allows to track workqueue execution. | 109 | * Allows to track workqueue execution. |
diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index 7b81887b023f..b453d92c2253 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h | |||
| @@ -372,6 +372,35 @@ TRACE_EVENT(balance_dirty_pages, | |||
| 372 | ) | 372 | ) |
| 373 | ); | 373 | ); |
| 374 | 374 | ||
| 375 | TRACE_EVENT(writeback_sb_inodes_requeue, | ||
| 376 | |||
| 377 | TP_PROTO(struct inode *inode), | ||
| 378 | TP_ARGS(inode), | ||
| 379 | |||
| 380 | TP_STRUCT__entry( | ||
| 381 | __array(char, name, 32) | ||
| 382 | __field(unsigned long, ino) | ||
| 383 | __field(unsigned long, state) | ||
| 384 | __field(unsigned long, dirtied_when) | ||
| 385 | ), | ||
| 386 | |||
| 387 | TP_fast_assign( | ||
| 388 | strncpy(__entry->name, | ||
| 389 | dev_name(inode_to_bdi(inode)->dev), 32); | ||
| 390 | __entry->ino = inode->i_ino; | ||
| 391 | __entry->state = inode->i_state; | ||
| 392 | __entry->dirtied_when = inode->dirtied_when; | ||
| 393 | ), | ||
| 394 | |||
| 395 | TP_printk("bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu", | ||
| 396 | __entry->name, | ||
| 397 | __entry->ino, | ||
| 398 | show_inode_state(__entry->state), | ||
| 399 | __entry->dirtied_when, | ||
| 400 | (jiffies - __entry->dirtied_when) / HZ | ||
| 401 | ) | ||
| 402 | ); | ||
| 403 | |||
| 375 | DECLARE_EVENT_CLASS(writeback_congest_waited_template, | 404 | DECLARE_EVENT_CLASS(writeback_congest_waited_template, |
| 376 | 405 | ||
| 377 | TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), | 406 | TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), |
| @@ -450,13 +479,6 @@ DECLARE_EVENT_CLASS(writeback_single_inode_template, | |||
| 450 | ) | 479 | ) |
| 451 | ); | 480 | ); |
| 452 | 481 | ||
| 453 | DEFINE_EVENT(writeback_single_inode_template, writeback_single_inode_requeue, | ||
| 454 | TP_PROTO(struct inode *inode, | ||
| 455 | struct writeback_control *wbc, | ||
| 456 | unsigned long nr_to_write), | ||
| 457 | TP_ARGS(inode, wbc, nr_to_write) | ||
| 458 | ); | ||
| 459 | |||
| 460 | DEFINE_EVENT(writeback_single_inode_template, writeback_single_inode, | 482 | DEFINE_EVENT(writeback_single_inode_template, writeback_single_inode, |
| 461 | TP_PROTO(struct inode *inode, | 483 | TP_PROTO(struct inode *inode, |
| 462 | struct writeback_control *wbc, | 484 | struct writeback_control *wbc, |
