diff options
Diffstat (limited to 'include/trace')
35 files changed, 1119 insertions, 742 deletions
diff --git a/include/trace/define_remote_events.h b/include/trace/define_remote_events.h new file mode 100644 index 000000000000..676e803dc144 --- /dev/null +++ b/include/trace/define_remote_events.h @@ -0,0 +1,73 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#include <linux/trace_events.h> +#include <linux/trace_remote_event.h> +#include <linux/trace_seq.h> +#include <linux/stringify.h> + +#define REMOTE_EVENT_INCLUDE(__file) __stringify(../../__file) + +#ifdef REMOTE_EVENT_SECTION +# define __REMOTE_EVENT_SECTION(__name) __used __section(REMOTE_EVENT_SECTION"."#__name) +#else +# define __REMOTE_EVENT_SECTION(__name) +#endif + +#define REMOTE_PRINTK_COUNT_ARGS(__args...) \ + __COUNT_ARGS(, ##__args, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0) + +#define __remote_printk0() \ + trace_seq_putc(seq, '\n') + +#define __remote_printk1(__fmt) \ + trace_seq_puts(seq, " " __fmt "\n") \ + +#define __remote_printk2(__fmt, __args...) \ +do { \ + trace_seq_putc(seq, ' '); \ + trace_seq_printf(seq, __fmt, __args); \ + trace_seq_putc(seq, '\n'); \ +} while (0) + +/* Apply the appropriate trace_seq sequence according to the number of arguments */ +#define remote_printk(__args...) \ + CONCATENATE(__remote_printk, REMOTE_PRINTK_COUNT_ARGS(__args))(__args) + +#define RE_PRINTK(__args...) __args + +#define REMOTE_EVENT(__name, __id, __struct, __printk) \ + REMOTE_EVENT_FORMAT(__name, __struct); \ + static void remote_event_print_##__name(void *evt, struct trace_seq *seq) \ + { \ + struct remote_event_format_##__name __maybe_unused *__entry = evt; \ + trace_seq_puts(seq, #__name); \ + remote_printk(__printk); \ + } +#include REMOTE_EVENT_INCLUDE(REMOTE_EVENT_INCLUDE_FILE) + +#undef REMOTE_EVENT +#undef RE_PRINTK +#undef re_field +#define re_field(__type, __field) \ + { \ + .type = #__type, .name = #__field, \ + .size = sizeof(__type), .align = __alignof__(__type), \ + .is_signed = is_signed_type(__type), \ + }, +#define __entry REC +#define RE_PRINTK(__fmt, __args...) "\"" __fmt "\", " __stringify(__args) +#define REMOTE_EVENT(__name, __id, __struct, __printk) \ + static struct trace_event_fields remote_event_fields_##__name[] = { \ + __struct \ + {} \ + }; \ + static char remote_event_print_fmt_##__name[] = __printk; \ + static struct remote_event __REMOTE_EVENT_SECTION(__name) \ + remote_event_##__name = { \ + .name = #__name, \ + .id = __id, \ + .fields = remote_event_fields_##__name, \ + .print_fmt = remote_event_print_fmt_##__name, \ + .print = remote_event_print_##__name, \ + } +#include REMOTE_EVENT_INCLUDE(REMOTE_EVENT_INCLUDE_FILE) diff --git a/include/trace/events/btrfs.h b/include/trace/events/btrfs.h index 125bdc166bfe..8ad7a2d76c1d 100644 --- a/include/trace/events/btrfs.h +++ b/include/trace/events/btrfs.h @@ -769,12 +769,15 @@ TRACE_EVENT(btrfs_sync_file, ), TP_fast_assign( - const struct dentry *dentry = file->f_path.dentry; - const struct inode *inode = d_inode(dentry); + struct dentry *dentry = file_dentry(file); + struct inode *inode = file_inode(file); + struct dentry *parent = dget_parent(dentry); + struct inode *parent_inode = d_inode(parent); - TP_fast_assign_fsid(btrfs_sb(file->f_path.dentry->d_sb)); + dput(parent); + TP_fast_assign_fsid(btrfs_sb(inode->i_sb)); __entry->ino = btrfs_ino(BTRFS_I(inode)); - __entry->parent = btrfs_ino(BTRFS_I(d_inode(dentry->d_parent))); + __entry->parent = btrfs_ino(BTRFS_I(parent_inode)); __entry->datasync = datasync; __entry->root_objectid = btrfs_root_id(BTRFS_I(inode)->root); ), @@ -1110,6 +1113,30 @@ TRACE_EVENT(btrfs_cow_block, __entry->cow_level) ); +TRACE_EVENT(btrfs_search_slot_restart, + + TP_PROTO(const struct btrfs_root *root, int level, + const char *reason), + + TP_ARGS(root, level, reason), + + TP_STRUCT__entry_btrfs( + __field( u64, root_objectid ) + __field( int, level ) + __string( reason, reason ) + ), + + TP_fast_assign_btrfs(root->fs_info, + __entry->root_objectid = btrfs_root_id(root); + __entry->level = level; + __assign_str(reason); + ), + + TP_printk_btrfs("root=%llu(%s) level=%d reason=%s", + show_root_type(__entry->root_objectid), + __entry->level, __get_str(reason)) +); + TRACE_EVENT(btrfs_space_reservation, TP_PROTO(const struct btrfs_fs_info *fs_info, const char *type, u64 val, diff --git a/include/trace/events/cachefiles.h b/include/trace/events/cachefiles.h index a743b2a35ea7..6e3b1424eea4 100644 --- a/include/trace/events/cachefiles.h +++ b/include/trace/events/cachefiles.h @@ -249,10 +249,10 @@ TRACE_EVENT(cachefiles_lookup, TP_ARGS(obj, dir, de), TP_STRUCT__entry( + __field(u64, dino) + __field(u64, ino) __field(unsigned int, obj) __field(short, error) - __field(unsigned long, dino) - __field(unsigned long, ino) ), TP_fast_assign( @@ -263,7 +263,7 @@ TRACE_EVENT(cachefiles_lookup, __entry->error = IS_ERR(de) ? PTR_ERR(de) : 0; ), - TP_printk("o=%08x dB=%lx B=%lx e=%d", + TP_printk("o=%08x dB=%llx B=%llx e=%d", __entry->obj, __entry->dino, __entry->ino, __entry->error) ); @@ -578,8 +578,8 @@ TRACE_EVENT(cachefiles_mark_active, /* Note that obj may be NULL */ TP_STRUCT__entry( + __field(u64, inode) __field(unsigned int, obj) - __field(ino_t, inode) ), TP_fast_assign( @@ -587,7 +587,7 @@ TRACE_EVENT(cachefiles_mark_active, __entry->inode = inode->i_ino; ), - TP_printk("o=%08x B=%lx", + TP_printk("o=%08x B=%llx", __entry->obj, __entry->inode) ); @@ -599,8 +599,8 @@ TRACE_EVENT(cachefiles_mark_failed, /* Note that obj may be NULL */ TP_STRUCT__entry( + __field(u64, inode) __field(unsigned int, obj) - __field(ino_t, inode) ), TP_fast_assign( @@ -608,7 +608,7 @@ TRACE_EVENT(cachefiles_mark_failed, __entry->inode = inode->i_ino; ), - TP_printk("o=%08x B=%lx", + TP_printk("o=%08x B=%llx", __entry->obj, __entry->inode) ); @@ -620,8 +620,8 @@ TRACE_EVENT(cachefiles_mark_inactive, /* Note that obj may be NULL */ TP_STRUCT__entry( + __field(u64, inode) __field(unsigned int, obj) - __field(ino_t, inode) ), TP_fast_assign( @@ -629,7 +629,7 @@ TRACE_EVENT(cachefiles_mark_inactive, __entry->inode = inode->i_ino; ), - TP_printk("o=%08x B=%lx", + TP_printk("o=%08x B=%llx", __entry->obj, __entry->inode) ); diff --git a/include/trace/events/coredump.h b/include/trace/events/coredump.h new file mode 100644 index 000000000000..c7b9c53fc498 --- /dev/null +++ b/include/trace/events/coredump.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2026 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2026 Breno Leitao <leitao@debian.org> + */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM coredump + +#if !defined(_TRACE_COREDUMP_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_COREDUMP_H + +#include <linux/sched.h> +#include <linux/tracepoint.h> + +/** + * coredump - called when a coredump starts + * @sig: signal number that triggered the coredump + * + * This tracepoint fires at the beginning of a coredump attempt, + * providing a stable interface for monitoring coredump events. + */ +TRACE_EVENT(coredump, + + TP_PROTO(int sig), + + TP_ARGS(sig), + + TP_STRUCT__entry( + __field(int, sig) + __array(char, comm, TASK_COMM_LEN) + ), + + TP_fast_assign( + __entry->sig = sig; + memcpy(__entry->comm, current->comm, TASK_COMM_LEN); + ), + + TP_printk("sig=%d comm=%s", + __entry->sig, __entry->comm) +); + +#endif /* _TRACE_COREDUMP_H */ + +/* This part must be outside protection */ +#include <trace/define_trace.h> diff --git a/include/trace/events/devlink.h b/include/trace/events/devlink.h index f241e204fe6b..4f8edf77dfbe 100644 --- a/include/trace/events/devlink.h +++ b/include/trace/events/devlink.h @@ -21,9 +21,9 @@ TRACE_EVENT(devlink_hwmsg, TP_ARGS(devlink, incoming, type, buf, len), TP_STRUCT__entry( - __string(bus_name, devlink_to_dev(devlink)->bus->name) - __string(dev_name, dev_name(devlink_to_dev(devlink))) - __string(driver_name, devlink_to_dev(devlink)->driver->name) + __string(bus_name, devlink_bus_name(devlink)) + __string(dev_name, devlink_dev_name(devlink)) + __string(driver_name, devlink_dev_driver_name(devlink)) __field(bool, incoming) __field(unsigned long, type) __dynamic_array(u8, buf, len) @@ -55,9 +55,9 @@ TRACE_EVENT(devlink_hwerr, TP_ARGS(devlink, err, msg), TP_STRUCT__entry( - __string(bus_name, devlink_to_dev(devlink)->bus->name) - __string(dev_name, dev_name(devlink_to_dev(devlink))) - __string(driver_name, devlink_to_dev(devlink)->driver->name) + __string(bus_name, devlink_bus_name(devlink)) + __string(dev_name, devlink_dev_name(devlink)) + __string(driver_name, devlink_dev_driver_name(devlink)) __field(int, err) __string(msg, msg) ), @@ -85,9 +85,9 @@ TRACE_EVENT(devlink_health_report, TP_ARGS(devlink, reporter_name, msg), TP_STRUCT__entry( - __string(bus_name, devlink_to_dev(devlink)->bus->name) - __string(dev_name, dev_name(devlink_to_dev(devlink))) - __string(driver_name, devlink_to_dev(devlink)->driver->name) + __string(bus_name, devlink_bus_name(devlink)) + __string(dev_name, devlink_dev_name(devlink)) + __string(driver_name, devlink_dev_driver_name(devlink)) __string(reporter_name, reporter_name) __string(msg, msg) ), @@ -116,9 +116,9 @@ TRACE_EVENT(devlink_health_recover_aborted, TP_ARGS(devlink, reporter_name, health_state, time_since_last_recover), TP_STRUCT__entry( - __string(bus_name, devlink_to_dev(devlink)->bus->name) - __string(dev_name, dev_name(devlink_to_dev(devlink))) - __string(driver_name, devlink_to_dev(devlink)->driver->name) + __string(bus_name, devlink_bus_name(devlink)) + __string(dev_name, devlink_dev_name(devlink)) + __string(driver_name, devlink_dev_driver_name(devlink)) __string(reporter_name, reporter_name) __field(bool, health_state) __field(u64, time_since_last_recover) @@ -150,9 +150,9 @@ TRACE_EVENT(devlink_health_reporter_state_update, TP_ARGS(devlink, reporter_name, new_state), TP_STRUCT__entry( - __string(bus_name, devlink_to_dev(devlink)->bus->name) - __string(dev_name, dev_name(devlink_to_dev(devlink))) - __string(driver_name, devlink_to_dev(devlink)->driver->name) + __string(bus_name, devlink_bus_name(devlink)) + __string(dev_name, devlink_dev_name(devlink)) + __string(driver_name, devlink_dev_driver_name(devlink)) __string(reporter_name, reporter_name) __field(u8, new_state) ), @@ -181,9 +181,9 @@ TRACE_EVENT(devlink_trap_report, TP_ARGS(devlink, skb, metadata), TP_STRUCT__entry( - __string(bus_name, devlink_to_dev(devlink)->bus->name) - __string(dev_name, dev_name(devlink_to_dev(devlink))) - __string(driver_name, devlink_to_dev(devlink)->driver->name) + __string(bus_name, devlink_bus_name(devlink)) + __string(dev_name, devlink_dev_name(devlink)) + __string(driver_name, devlink_dev_driver_name(devlink)) __string(trap_name, metadata->trap_name) __string(trap_group_name, metadata->trap_group_name) __array(char, input_dev_name, IFNAMSIZ) diff --git a/include/trace/events/dma.h b/include/trace/events/dma.h index 63597b004424..31c9ddf72c9d 100644 --- a/include/trace/events/dma.h +++ b/include/trace/events/dma.h @@ -34,7 +34,8 @@ TRACE_DEFINE_ENUM(DMA_NONE); { DMA_ATTR_PRIVILEGED, "PRIVILEGED" }, \ { DMA_ATTR_MMIO, "MMIO" }, \ { DMA_ATTR_DEBUGGING_IGNORE_CACHELINES, "CACHELINES_OVERLAP" }, \ - { DMA_ATTR_REQUIRE_COHERENT, "REQUIRE_COHERENT" }) + { DMA_ATTR_REQUIRE_COHERENT, "REQUIRE_COHERENT" }, \ + { DMA_ATTR_CC_SHARED, "CC_SHARED" }) DECLARE_EVENT_CLASS(dma_map, TP_PROTO(struct device *dev, phys_addr_t phys_addr, dma_addr_t dma_addr, diff --git a/include/trace/events/dma_fence.h b/include/trace/events/dma_fence.h index 4814a65b68dc..3abba45c0601 100644 --- a/include/trace/events/dma_fence.h +++ b/include/trace/events/dma_fence.h @@ -9,37 +9,12 @@ struct dma_fence; -DECLARE_EVENT_CLASS(dma_fence, - - TP_PROTO(struct dma_fence *fence), - - TP_ARGS(fence), - - TP_STRUCT__entry( - __string(driver, dma_fence_driver_name(fence)) - __string(timeline, dma_fence_timeline_name(fence)) - __field(unsigned int, context) - __field(unsigned int, seqno) - ), - - TP_fast_assign( - __assign_str(driver); - __assign_str(timeline); - __entry->context = fence->context; - __entry->seqno = fence->seqno; - ), - - TP_printk("driver=%s timeline=%s context=%u seqno=%u", - __get_str(driver), __get_str(timeline), __entry->context, - __entry->seqno) -); - /* * Safe only for call sites which are guaranteed to not race with fence * signaling,holding the fence->lock and having checked for not signaled, or the * signaling path itself. */ -DECLARE_EVENT_CLASS(dma_fence_unsignaled, +DECLARE_EVENT_CLASS(dma_fence, TP_PROTO(struct dma_fence *fence), @@ -64,14 +39,14 @@ DECLARE_EVENT_CLASS(dma_fence_unsignaled, __entry->seqno) ); -DEFINE_EVENT(dma_fence_unsignaled, dma_fence_emit, +DEFINE_EVENT(dma_fence, dma_fence_emit, TP_PROTO(struct dma_fence *fence), TP_ARGS(fence) ); -DEFINE_EVENT(dma_fence_unsignaled, dma_fence_init, +DEFINE_EVENT(dma_fence, dma_fence_init, TP_PROTO(struct dma_fence *fence), @@ -85,14 +60,14 @@ DEFINE_EVENT(dma_fence, dma_fence_destroy, TP_ARGS(fence) ); -DEFINE_EVENT(dma_fence_unsignaled, dma_fence_enable_signal, +DEFINE_EVENT(dma_fence, dma_fence_enable_signal, TP_PROTO(struct dma_fence *fence), TP_ARGS(fence) ); -DEFINE_EVENT(dma_fence_unsignaled, dma_fence_signaled, +DEFINE_EVENT(dma_fence, dma_fence_signaled, TP_PROTO(struct dma_fence *fence), diff --git a/include/trace/events/erofs.h b/include/trace/events/erofs.h index def20d06507b..cd0e3fd8c23f 100644 --- a/include/trace/events/erofs.h +++ b/include/trace/events/erofs.h @@ -26,10 +26,9 @@ struct erofs_map_blocks; #define show_mflags(flags) __print_flags(flags, "", \ { EROFS_MAP_MAPPED, "M" }, \ { EROFS_MAP_META, "I" }, \ - { EROFS_MAP_ENCODED, "E" }, \ - { EROFS_MAP_FULL_MAPPED, "F" }, \ - { EROFS_MAP_FRAGMENT, "R" }, \ - { EROFS_MAP_PARTIAL_REF, "P" }) + { EROFS_MAP_PARTIAL_MAPPED, "T" }, \ + { EROFS_MAP_PARTIAL_REF, "P" }, \ + { EROFS_MAP_FRAGMENT, "R" }) TRACE_EVENT(erofs_lookup, diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index a3e8fe414df8..f493642cf121 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -138,14 +138,14 @@ TRACE_DEFINE_ENUM(CR_ANY_FREE); { CR_ANY_FREE, "CR_ANY_FREE" }) TRACE_EVENT(ext4_other_inode_update_time, - TP_PROTO(struct inode *inode, ino_t orig_ino), + TP_PROTO(struct inode *inode, u64 orig_ino), TP_ARGS(inode, orig_ino), TP_STRUCT__entry( + __field( u64, ino ) + __field( u64, orig_ino ) __field( dev_t, dev ) - __field( ino_t, ino ) - __field( ino_t, orig_ino ) __field( uid_t, uid ) __field( gid_t, gid ) __field( __u16, mode ) @@ -160,10 +160,10 @@ TRACE_EVENT(ext4_other_inode_update_time, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d orig_ino %lu ino %lu mode 0%o uid %u gid %u", + TP_printk("dev %d,%d orig_ino %llu ino %llu mode 0%o uid %u gid %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->orig_ino, - (unsigned long) __entry->ino, __entry->mode, + __entry->orig_ino, + __entry->ino, __entry->mode, __entry->uid, __entry->gid) ); @@ -173,11 +173,11 @@ TRACE_EVENT(ext4_free_inode, TP_ARGS(inode), TP_STRUCT__entry( + __field( u64, ino ) + __field( __u64, blocks ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( uid_t, uid ) __field( gid_t, gid ) - __field( __u64, blocks ) __field( __u16, mode ) ), @@ -190,9 +190,9 @@ TRACE_EVENT(ext4_free_inode, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu", + TP_printk("dev %d,%d ino %llu mode 0%o uid %u gid %u blocks %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->mode, + __entry->ino, __entry->mode, __entry->uid, __entry->gid, __entry->blocks) ); @@ -202,8 +202,8 @@ TRACE_EVENT(ext4_request_inode, TP_ARGS(dir, mode), TP_STRUCT__entry( + __field( u64, dir ) __field( dev_t, dev ) - __field( ino_t, dir ) __field( __u16, mode ) ), @@ -213,9 +213,9 @@ TRACE_EVENT(ext4_request_inode, __entry->mode = mode; ), - TP_printk("dev %d,%d dir %lu mode 0%o", + TP_printk("dev %d,%d dir %llu mode 0%o", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->dir, __entry->mode) + __entry->dir, __entry->mode) ); TRACE_EVENT(ext4_allocate_inode, @@ -224,9 +224,9 @@ TRACE_EVENT(ext4_allocate_inode, TP_ARGS(inode, dir, mode), TP_STRUCT__entry( + __field( u64, ino ) + __field( u64, dir ) __field( dev_t, dev ) - __field( ino_t, ino ) - __field( ino_t, dir ) __field( __u16, mode ) ), @@ -237,10 +237,10 @@ TRACE_EVENT(ext4_allocate_inode, __entry->mode = mode; ), - TP_printk("dev %d,%d ino %lu dir %lu mode 0%o", + TP_printk("dev %d,%d ino %llu dir %llu mode 0%o", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, - (unsigned long) __entry->dir, __entry->mode) + __entry->ino, + __entry->dir, __entry->mode) ); TRACE_EVENT(ext4_evict_inode, @@ -249,8 +249,8 @@ TRACE_EVENT(ext4_evict_inode, TP_ARGS(inode), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, nlink ) ), @@ -260,9 +260,9 @@ TRACE_EVENT(ext4_evict_inode, __entry->nlink = inode->i_nlink; ), - TP_printk("dev %d,%d ino %lu nlink %d", + TP_printk("dev %d,%d ino %llu nlink %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->nlink) + __entry->ino, __entry->nlink) ); TRACE_EVENT(ext4_drop_inode, @@ -271,8 +271,8 @@ TRACE_EVENT(ext4_drop_inode, TP_ARGS(inode, drop), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, drop ) ), @@ -282,9 +282,9 @@ TRACE_EVENT(ext4_drop_inode, __entry->drop = drop; ), - TP_printk("dev %d,%d ino %lu drop %d", + TP_printk("dev %d,%d ino %llu drop %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->drop) + __entry->ino, __entry->drop) ); TRACE_EVENT(ext4_nfs_commit_metadata, @@ -293,8 +293,8 @@ TRACE_EVENT(ext4_nfs_commit_metadata, TP_ARGS(inode), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) ), TP_fast_assign( @@ -302,9 +302,9 @@ TRACE_EVENT(ext4_nfs_commit_metadata, __entry->ino = inode->i_ino; ), - TP_printk("dev %d,%d ino %lu", + TP_printk("dev %d,%d ino %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino) + __entry->ino) ); TRACE_EVENT(ext4_mark_inode_dirty, @@ -313,9 +313,9 @@ TRACE_EVENT(ext4_mark_inode_dirty, TP_ARGS(inode, IP), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field(unsigned long, ip ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -324,9 +324,9 @@ TRACE_EVENT(ext4_mark_inode_dirty, __entry->ip = IP; ), - TP_printk("dev %d,%d ino %lu caller %pS", + TP_printk("dev %d,%d ino %llu caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, (void *)__entry->ip) + __entry->ino, (void *)__entry->ip) ); TRACE_EVENT(ext4_begin_ordered_truncate, @@ -335,9 +335,9 @@ TRACE_EVENT(ext4_begin_ordered_truncate, TP_ARGS(inode, new_size), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, new_size ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -346,9 +346,9 @@ TRACE_EVENT(ext4_begin_ordered_truncate, __entry->new_size = new_size; ), - TP_printk("dev %d,%d ino %lu new_size %lld", + TP_printk("dev %d,%d ino %llu new_size %lld", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->new_size) ); @@ -359,9 +359,9 @@ DECLARE_EVENT_CLASS(ext4__write_begin, TP_ARGS(inode, pos, len), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, pos ) + __field( dev_t, dev ) __field( unsigned int, len ) ), @@ -372,9 +372,9 @@ DECLARE_EVENT_CLASS(ext4__write_begin, __entry->len = len; ), - TP_printk("dev %d,%d ino %lu pos %lld len %u", + TP_printk("dev %d,%d ino %llu pos %lld len %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->pos, __entry->len) ); @@ -399,9 +399,9 @@ DECLARE_EVENT_CLASS(ext4__write_end, TP_ARGS(inode, pos, len, copied), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, pos ) + __field( dev_t, dev ) __field( unsigned int, len ) __field( unsigned int, copied ) ), @@ -414,9 +414,9 @@ DECLARE_EVENT_CLASS(ext4__write_end, __entry->copied = copied; ), - TP_printk("dev %d,%d ino %lu pos %lld len %u copied %u", + TP_printk("dev %d,%d ino %llu pos %lld len %u copied %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->pos, __entry->len, __entry->copied) ); @@ -450,13 +450,13 @@ TRACE_EVENT(ext4_writepages, TP_ARGS(inode, wbc), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) - __field( long, nr_to_write ) - __field( long, pages_skipped ) + __field( u64, ino ) __field( loff_t, range_start ) __field( loff_t, range_end ) + __field( long, nr_to_write ) + __field( long, pages_skipped ) __field( pgoff_t, writeback_index ) + __field( dev_t, dev ) __field( int, sync_mode ) __field( char, for_kupdate ) __field( char, range_cyclic ) @@ -475,11 +475,11 @@ TRACE_EVENT(ext4_writepages, __entry->range_cyclic = wbc->range_cyclic; ), - TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld " + TP_printk("dev %d,%d ino %llu nr_to_write %ld pages_skipped %ld " "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, + __entry->ino, __entry->nr_to_write, __entry->pages_skipped, __entry->range_start, __entry->range_end, __entry->sync_mode, __entry->for_kupdate, __entry->range_cyclic, @@ -493,11 +493,11 @@ TRACE_EVENT(ext4_da_write_folios_start, TP_ARGS(inode, start_pos, next_pos, wbc), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, start_pos ) __field( loff_t, next_pos ) __field( long, nr_to_write ) + __field( dev_t, dev ) __field( int, sync_mode ) ), @@ -510,9 +510,9 @@ TRACE_EVENT(ext4_da_write_folios_start, __entry->sync_mode = wbc->sync_mode; ), - TP_printk("dev %d,%d ino %lu start_pos 0x%llx next_pos 0x%llx nr_to_write %ld sync_mode %d", + TP_printk("dev %d,%d ino %llu start_pos 0x%llx next_pos 0x%llx nr_to_write %ld sync_mode %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->start_pos, __entry->next_pos, + __entry->ino, __entry->start_pos, __entry->next_pos, __entry->nr_to_write, __entry->sync_mode) ); @@ -523,11 +523,11 @@ TRACE_EVENT(ext4_da_write_folios_end, TP_ARGS(inode, start_pos, next_pos, wbc, ret), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, start_pos ) __field( loff_t, next_pos ) __field( long, nr_to_write ) + __field( dev_t, dev ) __field( int, ret ) ), @@ -540,9 +540,9 @@ TRACE_EVENT(ext4_da_write_folios_end, __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu start_pos 0x%llx next_pos 0x%llx nr_to_write %ld ret %d", + TP_printk("dev %d,%d ino %llu start_pos 0x%llx next_pos 0x%llx nr_to_write %ld ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->start_pos, __entry->next_pos, + __entry->ino, __entry->start_pos, __entry->next_pos, __entry->nr_to_write, __entry->ret) ); @@ -552,9 +552,9 @@ TRACE_EVENT(ext4_da_write_pages_extent, TP_ARGS(inode, map), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, lblk ) + __field( dev_t, dev ) __field( __u32, len ) __field( __u32, flags ) ), @@ -567,9 +567,9 @@ TRACE_EVENT(ext4_da_write_pages_extent, __entry->flags = map->m_flags; ), - TP_printk("dev %d,%d ino %lu lblk %llu len %u flags %s", + TP_printk("dev %d,%d ino %llu lblk %llu len %u flags %s", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->lblk, __entry->len, + __entry->ino, __entry->lblk, __entry->len, show_mflags(__entry->flags)) ); @@ -580,12 +580,12 @@ TRACE_EVENT(ext4_writepages_result, TP_ARGS(inode, wbc, ret, pages_written), TP_STRUCT__entry( + __field( u64, ino ) + __field( long, pages_skipped ) + __field( pgoff_t, writeback_index ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, ret ) __field( int, pages_written ) - __field( long, pages_skipped ) - __field( pgoff_t, writeback_index ) __field( int, sync_mode ) ), @@ -599,10 +599,10 @@ TRACE_EVENT(ext4_writepages_result, __entry->sync_mode = wbc->sync_mode; ), - TP_printk("dev %d,%d ino %lu ret %d pages_written %d pages_skipped %ld " + TP_printk("dev %d,%d ino %llu ret %d pages_written %d pages_skipped %ld " "sync_mode %d writeback_index %lu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->ret, + __entry->ino, __entry->ret, __entry->pages_written, __entry->pages_skipped, __entry->sync_mode, (unsigned long) __entry->writeback_index) @@ -614,9 +614,9 @@ DECLARE_EVENT_CLASS(ext4__folio_op, TP_ARGS(inode, folio), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( pgoff_t, index ) + __field( dev_t, dev ) ), @@ -626,9 +626,9 @@ DECLARE_EVENT_CLASS(ext4__folio_op, __entry->index = folio->index; ), - TP_printk("dev %d,%d ino %lu folio_index %lu", + TP_printk("dev %d,%d ino %llu folio_index %lu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned long) __entry->index) ); @@ -652,11 +652,11 @@ DECLARE_EVENT_CLASS(ext4_invalidate_folio_op, TP_ARGS(folio, offset, length), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( pgoff_t, index ) __field( size_t, offset ) __field( size_t, length ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -667,9 +667,9 @@ DECLARE_EVENT_CLASS(ext4_invalidate_folio_op, __entry->length = length; ), - TP_printk("dev %d,%d ino %lu folio_index %lu offset %zu length %zu", + TP_printk("dev %d,%d ino %llu folio_index %lu offset %zu length %zu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned long) __entry->index, __entry->offset, __entry->length) ); @@ -717,10 +717,10 @@ DECLARE_EVENT_CLASS(ext4__mb_new_pa, TP_ARGS(ac, pa), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, pa_pstart ) __field( __u64, pa_lstart ) + __field( dev_t, dev ) __field( __u32, pa_len ) ), @@ -733,9 +733,9 @@ DECLARE_EVENT_CLASS(ext4__mb_new_pa, __entry->pa_len = pa->pa_len; ), - TP_printk("dev %d,%d ino %lu pstart %llu len %u lstart %llu", + TP_printk("dev %d,%d ino %llu pstart %llu len %u lstart %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->pa_pstart, __entry->pa_len, __entry->pa_lstart) ); @@ -762,9 +762,9 @@ TRACE_EVENT(ext4_mb_release_inode_pa, TP_ARGS(pa, block, count), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, block ) + __field( dev_t, dev ) __field( __u32, count ) ), @@ -776,9 +776,9 @@ TRACE_EVENT(ext4_mb_release_inode_pa, __entry->count = count; ), - TP_printk("dev %d,%d ino %lu block %llu count %u", + TP_printk("dev %d,%d ino %llu block %llu count %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->block, __entry->count) ); @@ -811,8 +811,8 @@ TRACE_EVENT(ext4_discard_preallocations, TP_ARGS(inode, len), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( unsigned int, len ) ), @@ -823,9 +823,9 @@ TRACE_EVENT(ext4_discard_preallocations, __entry->len = len; ), - TP_printk("dev %d,%d ino %lu len: %u", + TP_printk("dev %d,%d ino %llu len: %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->len) + __entry->ino, __entry->len) ); TRACE_EVENT(ext4_mb_discard_preallocations, @@ -855,15 +855,15 @@ TRACE_EVENT(ext4_request_blocks, TP_ARGS(ar), TP_STRUCT__entry( + __field( u64, ino ) + __field( __u64, goal ) + __field( __u64, pleft ) + __field( __u64, pright ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( unsigned int, len ) __field( __u32, logical ) __field( __u32, lleft ) __field( __u32, lright ) - __field( __u64, goal ) - __field( __u64, pleft ) - __field( __u64, pright ) __field( unsigned int, flags ) ), @@ -880,10 +880,10 @@ TRACE_EVENT(ext4_request_blocks, __entry->flags = ar->flags; ), - TP_printk("dev %d,%d ino %lu flags %s len %u lblk %u goal %llu " + TP_printk("dev %d,%d ino %llu flags %s len %u lblk %u goal %llu " "lleft %u lright %u pleft %llu pright %llu ", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, show_mballoc_flags(__entry->flags), + __entry->ino, show_mballoc_flags(__entry->flags), __entry->len, __entry->logical, __entry->goal, __entry->lleft, __entry->lright, __entry->pleft, __entry->pright) @@ -895,16 +895,16 @@ TRACE_EVENT(ext4_allocate_blocks, TP_ARGS(ar, block), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, block ) + __field( __u64, goal ) + __field( __u64, pleft ) + __field( __u64, pright ) + __field( dev_t, dev ) __field( unsigned int, len ) __field( __u32, logical ) __field( __u32, lleft ) __field( __u32, lright ) - __field( __u64, goal ) - __field( __u64, pleft ) - __field( __u64, pright ) __field( unsigned int, flags ) ), @@ -922,10 +922,10 @@ TRACE_EVENT(ext4_allocate_blocks, __entry->flags = ar->flags; ), - TP_printk("dev %d,%d ino %lu flags %s len %u block %llu lblk %u " + TP_printk("dev %d,%d ino %llu flags %s 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, show_mballoc_flags(__entry->flags), + __entry->ino, show_mballoc_flags(__entry->flags), __entry->len, __entry->block, __entry->logical, __entry->goal, __entry->lleft, __entry->lright, __entry->pleft, __entry->pright) @@ -938,10 +938,10 @@ TRACE_EVENT(ext4_free_blocks, TP_ARGS(inode, block, count, flags), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, block ) __field( unsigned long, count ) + __field( dev_t, dev ) __field( int, flags ) __field( __u16, mode ) ), @@ -955,9 +955,9 @@ TRACE_EVENT(ext4_free_blocks, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d ino %lu mode 0%o block %llu count %lu flags %s", + TP_printk("dev %d,%d ino %llu mode 0%o block %llu count %lu flags %s", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->mode, __entry->block, __entry->count, show_free_flags(__entry->flags)) ); @@ -968,9 +968,9 @@ TRACE_EVENT(ext4_sync_file_enter, TP_ARGS(file, datasync), TP_STRUCT__entry( + __field( u64, ino ) + __field( u64, parent ) __field( dev_t, dev ) - __field( ino_t, ino ) - __field( ino_t, parent ) __field( int, datasync ) ), @@ -983,10 +983,10 @@ TRACE_EVENT(ext4_sync_file_enter, __entry->parent = d_inode(dentry->d_parent)->i_ino; ), - TP_printk("dev %d,%d ino %lu parent %lu datasync %d ", + TP_printk("dev %d,%d ino %llu parent %llu datasync %d ", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, - (unsigned long) __entry->parent, __entry->datasync) + __entry->ino, + __entry->parent, __entry->datasync) ); TRACE_EVENT(ext4_sync_file_exit, @@ -995,8 +995,8 @@ TRACE_EVENT(ext4_sync_file_exit, TP_ARGS(inode, ret), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, ret ) ), @@ -1006,9 +1006,9 @@ TRACE_EVENT(ext4_sync_file_exit, __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu ret %d", + TP_printk("dev %d,%d ino %llu ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->ret) ); @@ -1039,8 +1039,8 @@ TRACE_EVENT(ext4_alloc_da_blocks, TP_ARGS(inode), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( unsigned int, data_blocks ) ), @@ -1050,9 +1050,9 @@ TRACE_EVENT(ext4_alloc_da_blocks, __entry->data_blocks = EXT4_I(inode)->i_reserved_data_blocks; ), - TP_printk("dev %d,%d ino %lu reserved_data_blocks %u", + TP_printk("dev %d,%d ino %llu reserved_data_blocks %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->data_blocks) ); @@ -1062,8 +1062,8 @@ TRACE_EVENT(ext4_mballoc_alloc, TP_ARGS(ac), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( __u32, orig_logical ) __field( int, orig_start ) __field( __u32, orig_group ) @@ -1107,11 +1107,11 @@ TRACE_EVENT(ext4_mballoc_alloc, __entry->cr = ac->ac_criteria; ), - TP_printk("dev %d,%d inode %lu orig %u/%d/%u@%u goal %u/%d/%u@%u " + TP_printk("dev %d,%d inode %llu orig %u/%d/%u@%u goal %u/%d/%u@%u " "result %u/%d/%u@%u blks %u grps %u cr %s flags %s " "tail %u broken %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->orig_group, __entry->orig_start, __entry->orig_len, __entry->orig_logical, __entry->goal_group, __entry->goal_start, @@ -1129,8 +1129,8 @@ TRACE_EVENT(ext4_mballoc_prealloc, TP_ARGS(ac), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( __u32, orig_logical ) __field( int, orig_start ) __field( __u32, orig_group ) @@ -1154,9 +1154,9 @@ TRACE_EVENT(ext4_mballoc_prealloc, __entry->result_len = ac->ac_b_ex.fe_len; ), - TP_printk("dev %d,%d inode %lu orig %u/%d/%u@%u result %u/%d/%u@%u", + TP_printk("dev %d,%d inode %llu orig %u/%d/%u@%u result %u/%d/%u@%u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->orig_group, __entry->orig_start, __entry->orig_len, __entry->orig_logical, __entry->result_group, __entry->result_start, @@ -1173,8 +1173,8 @@ DECLARE_EVENT_CLASS(ext4__mballoc, TP_ARGS(sb, inode, group, start, len), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, result_start ) __field( __u32, result_group ) __field( int, result_len ) @@ -1188,9 +1188,9 @@ DECLARE_EVENT_CLASS(ext4__mballoc, __entry->result_len = len; ), - TP_printk("dev %d,%d inode %lu extent %u/%d/%d ", + TP_printk("dev %d,%d inode %llu extent %u/%d/%d ", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->result_group, __entry->result_start, __entry->result_len) ); @@ -1223,9 +1223,9 @@ TRACE_EVENT(ext4_forget, TP_ARGS(inode, is_metadata, block), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, block ) + __field( dev_t, dev ) __field( int, is_metadata ) __field( __u16, mode ) ), @@ -1238,9 +1238,9 @@ TRACE_EVENT(ext4_forget, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %llu", + TP_printk("dev %d,%d ino %llu mode 0%o is_metadata %d block %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->mode, __entry->is_metadata, __entry->block) ); @@ -1250,9 +1250,9 @@ TRACE_EVENT(ext4_da_update_reserve_space, TP_ARGS(inode, used_blocks, quota_claim), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, i_blocks ) + __field( dev_t, dev ) __field( int, used_blocks ) __field( int, reserved_data_blocks ) __field( int, quota_claim ) @@ -1270,10 +1270,10 @@ TRACE_EVENT(ext4_da_update_reserve_space, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu used_blocks %d " + TP_printk("dev %d,%d ino %llu mode 0%o i_blocks %llu used_blocks %d " "reserved_data_blocks %d quota_claim %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->mode, __entry->i_blocks, __entry->used_blocks, __entry->reserved_data_blocks, __entry->quota_claim) @@ -1285,9 +1285,9 @@ TRACE_EVENT(ext4_da_reserve_space, TP_ARGS(inode, nr_resv), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, i_blocks ) + __field( dev_t, dev ) __field( int, reserve_blocks ) __field( int, reserved_data_blocks ) __field( __u16, mode ) @@ -1302,10 +1302,10 @@ TRACE_EVENT(ext4_da_reserve_space, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu reserve_blocks %d" + TP_printk("dev %d,%d ino %llu mode 0%o i_blocks %llu reserve_blocks %d" "reserved_data_blocks %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->mode, __entry->i_blocks, __entry->reserve_blocks, __entry->reserved_data_blocks) ); @@ -1316,9 +1316,9 @@ TRACE_EVENT(ext4_da_release_space, TP_ARGS(inode, freed_blocks), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, i_blocks ) + __field( dev_t, dev ) __field( int, freed_blocks ) __field( int, reserved_data_blocks ) __field( __u16, mode ) @@ -1333,10 +1333,10 @@ TRACE_EVENT(ext4_da_release_space, __entry->mode = inode->i_mode; ), - TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu freed_blocks %d " + TP_printk("dev %d,%d ino %llu mode 0%o i_blocks %llu freed_blocks %d " "reserved_data_blocks %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->mode, __entry->i_blocks, __entry->freed_blocks, __entry->reserved_data_blocks) ); @@ -1412,10 +1412,10 @@ DECLARE_EVENT_CLASS(ext4__fallocate_mode, TP_ARGS(inode, offset, len, mode), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, offset ) __field( loff_t, len ) + __field( dev_t, dev ) __field( int, mode ) ), @@ -1427,9 +1427,9 @@ DECLARE_EVENT_CLASS(ext4__fallocate_mode, __entry->mode = mode; ), - TP_printk("dev %d,%d ino %lu offset %lld len %lld mode %s", + TP_printk("dev %d,%d ino %llu offset %lld len %lld mode %s", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->offset, __entry->len, show_falloc_mode(__entry->mode)) ); @@ -1462,9 +1462,9 @@ TRACE_EVENT(ext4_fallocate_exit, TP_ARGS(inode, offset, max_blocks, ret), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, pos ) + __field( dev_t, dev ) __field( unsigned int, blocks ) __field( int, ret ) ), @@ -1477,9 +1477,9 @@ TRACE_EVENT(ext4_fallocate_exit, __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d", + TP_printk("dev %d,%d ino %llu pos %lld blocks %u ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->pos, __entry->blocks, __entry->ret) ); @@ -1490,10 +1490,10 @@ TRACE_EVENT(ext4_unlink_enter, TP_ARGS(parent, dentry), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) - __field( ino_t, parent ) + __field( u64, ino ) + __field( u64, parent ) __field( loff_t, size ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -1503,10 +1503,10 @@ TRACE_EVENT(ext4_unlink_enter, __entry->size = d_inode(dentry)->i_size; ), - TP_printk("dev %d,%d ino %lu size %lld parent %lu", + TP_printk("dev %d,%d ino %llu size %lld parent %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->size, - (unsigned long) __entry->parent) + __entry->ino, __entry->size, + __entry->parent) ); TRACE_EVENT(ext4_unlink_exit, @@ -1515,8 +1515,8 @@ TRACE_EVENT(ext4_unlink_exit, TP_ARGS(dentry, ret), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, ret ) ), @@ -1526,9 +1526,9 @@ TRACE_EVENT(ext4_unlink_exit, __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu ret %d", + TP_printk("dev %d,%d ino %llu ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->ret) ); @@ -1538,9 +1538,9 @@ DECLARE_EVENT_CLASS(ext4__truncate, TP_ARGS(inode), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( __u64, blocks ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -1549,9 +1549,9 @@ DECLARE_EVENT_CLASS(ext4__truncate, __entry->blocks = inode->i_blocks; ), - TP_printk("dev %d,%d ino %lu blocks %llu", + TP_printk("dev %d,%d ino %llu blocks %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->blocks) + __entry->ino, __entry->blocks) ); DEFINE_EVENT(ext4__truncate, ext4_truncate_enter, @@ -1576,13 +1576,13 @@ TRACE_EVENT(ext4_ext_convert_to_initialized_enter, TP_ARGS(inode, map, ux), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, u_pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, m_lblk ) __field( unsigned, m_len ) __field( ext4_lblk_t, u_lblk ) __field( unsigned, u_len ) - __field( ext4_fsblk_t, u_pblk ) ), TP_fast_assign( @@ -1595,10 +1595,10 @@ TRACE_EVENT(ext4_ext_convert_to_initialized_enter, __entry->u_pblk = ext4_ext_pblock(ux); ), - TP_printk("dev %d,%d ino %lu m_lblk %u m_len %u u_lblk %u u_len %u " + TP_printk("dev %d,%d ino %llu m_lblk %u m_len %u u_lblk %u u_len %u " "u_pblk %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->m_lblk, __entry->m_len, __entry->u_lblk, __entry->u_len, __entry->u_pblk) ); @@ -1614,16 +1614,16 @@ TRACE_EVENT(ext4_ext_convert_to_initialized_fastpath, TP_ARGS(inode, map, ux, ix), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, u_pblk ) + __field( ext4_fsblk_t, i_pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, m_lblk ) __field( unsigned, m_len ) __field( ext4_lblk_t, u_lblk ) __field( unsigned, u_len ) - __field( ext4_fsblk_t, u_pblk ) __field( ext4_lblk_t, i_lblk ) __field( unsigned, i_len ) - __field( ext4_fsblk_t, i_pblk ) ), TP_fast_assign( @@ -1639,11 +1639,11 @@ TRACE_EVENT(ext4_ext_convert_to_initialized_fastpath, __entry->i_pblk = ext4_ext_pblock(ix); ), - TP_printk("dev %d,%d ino %lu m_lblk %u m_len %u " + TP_printk("dev %d,%d ino %llu m_lblk %u m_len %u " "u_lblk %u u_len %u u_pblk %llu " "i_lblk %u i_len %u i_pblk %llu ", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->m_lblk, __entry->m_len, __entry->u_lblk, __entry->u_len, __entry->u_pblk, __entry->i_lblk, __entry->i_len, __entry->i_pblk) @@ -1656,8 +1656,8 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_enter, TP_ARGS(inode, lblk, len, flags), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) __field( unsigned int, len ) __field( unsigned int, flags ) @@ -1671,9 +1671,9 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_enter, __entry->flags = flags; ), - TP_printk("dev %d,%d ino %lu lblk %u len %u flags %s", + TP_printk("dev %d,%d ino %llu lblk %u len %u flags %s", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->lblk, __entry->len, show_map_flags(__entry->flags)) ); @@ -1698,10 +1698,10 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit, TP_ARGS(inode, flags, map, ret), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( unsigned int, flags ) - __field( ext4_fsblk_t, pblk ) __field( ext4_lblk_t, lblk ) __field( unsigned int, len ) __field( unsigned int, mflags ) @@ -1719,10 +1719,10 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit, __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu flags %s lblk %u pblk %llu len %u " + TP_printk("dev %d,%d ino %llu flags %s lblk %u pblk %llu len %u " "mflags %s ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, show_map_flags(__entry->flags), __entry->lblk, __entry->pblk, __entry->len, show_mflags(__entry->mflags), __entry->ret) ); @@ -1747,9 +1747,9 @@ TRACE_EVENT(ext4_ext_load_extent, TP_ARGS(inode, lblk, pblk), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( ext4_fsblk_t, pblk ) + __field( dev_t, dev ) __field( ext4_lblk_t, lblk ) ), @@ -1760,9 +1760,9 @@ TRACE_EVENT(ext4_ext_load_extent, __entry->lblk = lblk; ), - TP_printk("dev %d,%d ino %lu lblk %u pblk %llu", + TP_printk("dev %d,%d ino %llu lblk %u pblk %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->lblk, __entry->pblk) ); @@ -1772,8 +1772,8 @@ TRACE_EVENT(ext4_load_inode, TP_ARGS(sb, ino), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) ), TP_fast_assign( @@ -1781,9 +1781,9 @@ TRACE_EVENT(ext4_load_inode, __entry->ino = ino; ), - TP_printk("dev %d,%d ino %ld", + TP_printk("dev %d,%d ino %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino) + __entry->ino) ); TRACE_EVENT(ext4_journal_start_sb, @@ -1823,7 +1823,7 @@ TRACE_EVENT(ext4_journal_start_inode, TP_ARGS(inode, blocks, rsv_blocks, revoke_creds, type, IP), TP_STRUCT__entry( - __field( unsigned long, ino ) + __field( u64, ino ) __field( dev_t, dev ) __field( unsigned long, ip ) __field( int, blocks ) @@ -1843,10 +1843,10 @@ TRACE_EVENT(ext4_journal_start_inode, ), TP_printk("dev %d,%d blocks %d, rsv_blocks %d, revoke_creds %d," - " type %d, ino %lu, caller %pS", MAJOR(__entry->dev), + " type %d, ino %llu, caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->blocks, __entry->rsv_blocks, - __entry->revoke_creds, __entry->type, __entry->ino, - (void *)__entry->ip) + __entry->revoke_creds, __entry->type, + __entry->ino, (void *)__entry->ip) ); TRACE_EVENT(ext4_journal_start_reserved, @@ -1927,14 +1927,14 @@ TRACE_EVENT(ext4_ext_handle_unwritten_extents, TP_ARGS(inode, map, flags, allocated, newblock), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, pblk ) + __field( ext4_fsblk_t, newblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( int, flags ) __field( ext4_lblk_t, lblk ) - __field( ext4_fsblk_t, pblk ) __field( unsigned int, len ) __field( unsigned int, allocated ) - __field( ext4_fsblk_t, newblk ) ), TP_fast_assign( @@ -1948,10 +1948,10 @@ TRACE_EVENT(ext4_ext_handle_unwritten_extents, __entry->newblk = newblock; ), - TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %s " + TP_printk("dev %d,%d ino %llu m_lblk %u m_pblk %llu m_len %u flags %s " "allocated %d newblock %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned) __entry->lblk, (unsigned long long) __entry->pblk, __entry->len, show_map_flags(__entry->flags), (unsigned int) __entry->allocated, @@ -1994,9 +1994,9 @@ TRACE_EVENT(ext4_ext_show_extent, TP_ARGS(inode, lblk, pblk, len), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( ext4_fsblk_t, pblk ) + __field( dev_t, dev ) __field( ext4_lblk_t, lblk ) __field( unsigned short, len ) ), @@ -2009,9 +2009,9 @@ TRACE_EVENT(ext4_ext_show_extent, __entry->len = len; ), - TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u", + TP_printk("dev %d,%d ino %llu lblk %u pblk %llu len %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned) __entry->lblk, (unsigned long long) __entry->pblk, (unsigned short) __entry->len) @@ -2025,14 +2025,14 @@ TRACE_EVENT(ext4_remove_blocks, TP_ARGS(inode, ex, from, to, pc), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, ee_pblk ) + __field( ext4_fsblk_t, pc_pclu ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, from ) __field( ext4_lblk_t, to ) - __field( ext4_fsblk_t, ee_pblk ) __field( ext4_lblk_t, ee_lblk ) __field( unsigned short, ee_len ) - __field( ext4_fsblk_t, pc_pclu ) __field( ext4_lblk_t, pc_lblk ) __field( int, pc_state) ), @@ -2050,10 +2050,10 @@ TRACE_EVENT(ext4_remove_blocks, __entry->pc_state = pc->state; ), - TP_printk("dev %d,%d ino %lu extent [%u(%llu), %u]" + TP_printk("dev %d,%d ino %llu extent [%u(%llu), %u]" "from %u to %u partial [pclu %lld lblk %u state %d]", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned) __entry->ee_lblk, (unsigned long long) __entry->ee_pblk, (unsigned short) __entry->ee_len, @@ -2072,13 +2072,13 @@ TRACE_EVENT(ext4_ext_rm_leaf, TP_ARGS(inode, start, ex, pc), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, ee_pblk ) + __field( ext4_fsblk_t, pc_pclu ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, start ) __field( ext4_lblk_t, ee_lblk ) - __field( ext4_fsblk_t, ee_pblk ) __field( short, ee_len ) - __field( ext4_fsblk_t, pc_pclu ) __field( ext4_lblk_t, pc_lblk ) __field( int, pc_state) ), @@ -2095,10 +2095,10 @@ TRACE_EVENT(ext4_ext_rm_leaf, __entry->pc_state = pc->state; ), - TP_printk("dev %d,%d ino %lu start_lblk %u last_extent [%u(%llu), %u]" + TP_printk("dev %d,%d ino %llu start_lblk %u last_extent [%u(%llu), %u]" "partial [pclu %lld lblk %u state %d]", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned) __entry->start, (unsigned) __entry->ee_lblk, (unsigned long long) __entry->ee_pblk, @@ -2114,9 +2114,9 @@ TRACE_EVENT(ext4_ext_rm_idx, TP_ARGS(inode, pblk), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( ext4_fsblk_t, pblk ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -2125,9 +2125,9 @@ TRACE_EVENT(ext4_ext_rm_idx, __entry->pblk = pblk; ), - TP_printk("dev %d,%d ino %lu index_pblk %llu", + TP_printk("dev %d,%d ino %llu index_pblk %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned long long) __entry->pblk) ); @@ -2138,8 +2138,8 @@ TRACE_EVENT(ext4_ext_remove_space, TP_ARGS(inode, start, end, depth), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, start ) __field( ext4_lblk_t, end ) __field( int, depth ) @@ -2153,9 +2153,9 @@ TRACE_EVENT(ext4_ext_remove_space, __entry->depth = depth; ), - TP_printk("dev %d,%d ino %lu since %u end %u depth %d", + TP_printk("dev %d,%d ino %llu since %u end %u depth %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned) __entry->start, (unsigned) __entry->end, __entry->depth) @@ -2168,12 +2168,12 @@ TRACE_EVENT(ext4_ext_remove_space_done, TP_ARGS(inode, start, end, depth, pc, eh_entries), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, pc_pclu ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, start ) __field( ext4_lblk_t, end ) __field( int, depth ) - __field( ext4_fsblk_t, pc_pclu ) __field( ext4_lblk_t, pc_lblk ) __field( int, pc_state ) __field( unsigned short, eh_entries ) @@ -2191,11 +2191,11 @@ TRACE_EVENT(ext4_ext_remove_space_done, __entry->eh_entries = le16_to_cpu(eh_entries); ), - TP_printk("dev %d,%d ino %lu since %u end %u depth %d " + TP_printk("dev %d,%d ino %llu since %u end %u depth %d " "partial [pclu %lld lblk %u state %d] " "remaining_entries %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, (unsigned) __entry->start, (unsigned) __entry->end, __entry->depth, @@ -2211,13 +2211,13 @@ DECLARE_EVENT_CLASS(ext4__es_extent, TP_ARGS(inode, es), TP_STRUCT__entry( + __field( u64, ino ) + __field( u64, seq ) + __field( ext4_fsblk_t, pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) __field( ext4_lblk_t, len ) - __field( ext4_fsblk_t, pblk ) __field( char, status ) - __field( u64, seq ) ), TP_fast_assign( @@ -2230,9 +2230,9 @@ DECLARE_EVENT_CLASS(ext4__es_extent, __entry->seq = EXT4_I(inode)->i_es_seq; ), - TP_printk("dev %d,%d ino %lu es [%u/%u) mapped %llu status %s seq %llu", + TP_printk("dev %d,%d ino %llu es [%u/%u) mapped %llu status %s seq %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->lblk, __entry->len, __entry->pblk, show_extent_status(__entry->status), __entry->seq) @@ -2256,11 +2256,11 @@ TRACE_EVENT(ext4_es_remove_extent, TP_ARGS(inode, lblk, len), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field( loff_t, lblk ) __field( loff_t, len ) __field( u64, seq ) + __field( dev_t, dev ) ), TP_fast_assign( @@ -2271,9 +2271,9 @@ TRACE_EVENT(ext4_es_remove_extent, __entry->seq = EXT4_I(inode)->i_es_seq; ), - TP_printk("dev %d,%d ino %lu es [%lld/%lld) seq %llu", + TP_printk("dev %d,%d ino %llu es [%lld/%lld) seq %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->lblk, __entry->len, __entry->seq) ); @@ -2283,8 +2283,8 @@ TRACE_EVENT(ext4_es_find_extent_range_enter, TP_ARGS(inode, lblk), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) ), @@ -2294,9 +2294,9 @@ TRACE_EVENT(ext4_es_find_extent_range_enter, __entry->lblk = lblk; ), - TP_printk("dev %d,%d ino %lu lblk %u", + TP_printk("dev %d,%d ino %llu lblk %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->lblk) + __entry->ino, __entry->lblk) ); TRACE_EVENT(ext4_es_find_extent_range_exit, @@ -2305,11 +2305,11 @@ TRACE_EVENT(ext4_es_find_extent_range_exit, TP_ARGS(inode, es), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) __field( ext4_lblk_t, len ) - __field( ext4_fsblk_t, pblk ) __field( char, status ) ), @@ -2322,9 +2322,9 @@ TRACE_EVENT(ext4_es_find_extent_range_exit, __entry->status = ext4_es_status(es); ), - TP_printk("dev %d,%d ino %lu es [%u/%u) mapped %llu status %s", + TP_printk("dev %d,%d ino %llu es [%u/%u) mapped %llu status %s", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->lblk, __entry->len, __entry->pblk, show_extent_status(__entry->status)) ); @@ -2335,8 +2335,8 @@ TRACE_EVENT(ext4_es_lookup_extent_enter, TP_ARGS(inode, lblk), TP_STRUCT__entry( + __field( u64, ino ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) ), @@ -2346,9 +2346,9 @@ TRACE_EVENT(ext4_es_lookup_extent_enter, __entry->lblk = lblk; ), - TP_printk("dev %d,%d ino %lu lblk %u", + TP_printk("dev %d,%d ino %llu lblk %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->lblk) + __entry->ino, __entry->lblk) ); TRACE_EVENT(ext4_es_lookup_extent_exit, @@ -2358,13 +2358,13 @@ TRACE_EVENT(ext4_es_lookup_extent_exit, TP_ARGS(inode, es, found), TP_STRUCT__entry( + __field( u64, ino ) + __field( ext4_fsblk_t, pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) __field( ext4_lblk_t, len ) - __field( ext4_fsblk_t, pblk ) - __field( char, status ) __field( int, found ) + __field( char, status ) ), TP_fast_assign( @@ -2377,9 +2377,9 @@ TRACE_EVENT(ext4_es_lookup_extent_exit, __entry->found = found; ), - TP_printk("dev %d,%d ino %lu found %d [%u/%u) %llu %s", + TP_printk("dev %d,%d ino %llu found %d [%u/%u) %llu %s", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, __entry->found, + __entry->ino, __entry->found, __entry->lblk, __entry->len, __entry->found ? __entry->pblk : 0, show_extent_status(__entry->found ? __entry->status : 0)) @@ -2447,10 +2447,10 @@ TRACE_EVENT(ext4_collapse_range, TP_ARGS(inode, offset, len), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, offset) __field(loff_t, len) + __field(dev_t, dev) ), TP_fast_assign( @@ -2460,9 +2460,9 @@ TRACE_EVENT(ext4_collapse_range, __entry->len = len; ), - TP_printk("dev %d,%d ino %lu offset %lld len %lld", + TP_printk("dev %d,%d ino %llu offset %lld len %lld", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->offset, __entry->len) ); @@ -2472,10 +2472,10 @@ TRACE_EVENT(ext4_insert_range, TP_ARGS(inode, offset, len), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, offset) __field(loff_t, len) + __field(dev_t, dev) ), TP_fast_assign( @@ -2485,9 +2485,9 @@ TRACE_EVENT(ext4_insert_range, __entry->len = len; ), - TP_printk("dev %d,%d ino %lu offset %lld len %lld", + TP_printk("dev %d,%d ino %llu offset %lld len %lld", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->offset, __entry->len) ); @@ -2526,15 +2526,15 @@ TRACE_EVENT(ext4_es_insert_delayed_extent, TP_ARGS(inode, es, lclu_allocated, end_allocated), TP_STRUCT__entry( + __field( u64, ino ) + __field( u64, seq ) + __field( ext4_fsblk_t, pblk ) __field( dev_t, dev ) - __field( ino_t, ino ) __field( ext4_lblk_t, lblk ) __field( ext4_lblk_t, len ) - __field( ext4_fsblk_t, pblk ) __field( char, status ) __field( bool, lclu_allocated ) __field( bool, end_allocated ) - __field( u64, seq ) ), TP_fast_assign( @@ -2549,9 +2549,9 @@ TRACE_EVENT(ext4_es_insert_delayed_extent, __entry->seq = EXT4_I(inode)->i_es_seq; ), - TP_printk("dev %d,%d ino %lu es [%u/%u) mapped %llu status %s allocated %d %d seq %llu", + TP_printk("dev %d,%d ino %llu es [%u/%u) mapped %llu status %s allocated %d %d seq %llu", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, + __entry->ino, __entry->lblk, __entry->len, __entry->pblk, show_extent_status(__entry->status), __entry->lclu_allocated, __entry->end_allocated, @@ -2875,9 +2875,9 @@ DECLARE_EVENT_CLASS(ext4_fc_track_dentry, TP_ARGS(handle, inode, dentry, ret), TP_STRUCT__entry( + __field(u64, i_ino) __field(dev_t, dev) __field(tid_t, t_tid) - __field(ino_t, i_ino) __field(tid_t, i_sync_tid) __field(int, error) ), @@ -2892,7 +2892,7 @@ DECLARE_EVENT_CLASS(ext4_fc_track_dentry, __entry->error = ret; ), - TP_printk("dev %d,%d, t_tid %u, ino %lu, i_sync_tid %u, error %d", + TP_printk("dev %d,%d, t_tid %u, ino %llu, i_sync_tid %u, error %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->t_tid, __entry->i_ino, __entry->i_sync_tid, __entry->error @@ -2916,9 +2916,9 @@ TRACE_EVENT(ext4_fc_track_inode, TP_ARGS(handle, inode, ret), TP_STRUCT__entry( + __field(u64, i_ino) __field(dev_t, dev) __field(tid_t, t_tid) - __field(ino_t, i_ino) __field(tid_t, i_sync_tid) __field(int, error) ), @@ -2933,7 +2933,7 @@ TRACE_EVENT(ext4_fc_track_inode, __entry->error = ret; ), - TP_printk("dev %d:%d, t_tid %u, inode %lu, i_sync_tid %u, error %d", + TP_printk("dev %d:%d, t_tid %u, inode %llu, i_sync_tid %u, error %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->t_tid, __entry->i_ino, __entry->i_sync_tid, __entry->error) @@ -2946,12 +2946,12 @@ TRACE_EVENT(ext4_fc_track_range, TP_ARGS(handle, inode, start, end, ret), TP_STRUCT__entry( + __field(u64, i_ino) + __field(long, start) + __field(long, end) __field(dev_t, dev) __field(tid_t, t_tid) - __field(ino_t, i_ino) __field(tid_t, i_sync_tid) - __field(long, start) - __field(long, end) __field(int, error) ), @@ -2967,7 +2967,7 @@ TRACE_EVENT(ext4_fc_track_range, __entry->error = ret; ), - TP_printk("dev %d:%d, t_tid %u, inode %lu, i_sync_tid %u, error %d, start %ld, end %ld", + TP_printk("dev %d:%d, t_tid %u, inode %llu, i_sync_tid %u, error %d, start %ld, end %ld", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->t_tid, __entry->i_ino, __entry->i_sync_tid, __entry->error, __entry->start, __entry->end) @@ -3029,11 +3029,11 @@ TRACE_EVENT(ext4_move_extent_enter, TP_ARGS(orig_inode, orig_map, donor_inode, donor_lblk), TP_STRUCT__entry( + __field(u64, orig_ino) + __field(u64, donor_ino) __field(dev_t, dev) - __field(ino_t, orig_ino) __field(ext4_lblk_t, orig_lblk) __field(unsigned int, orig_flags) - __field(ino_t, donor_ino) __field(ext4_lblk_t, donor_lblk) __field(unsigned int, len) ), @@ -3048,11 +3048,11 @@ TRACE_EVENT(ext4_move_extent_enter, __entry->len = orig_map->m_len; ), - TP_printk("dev %d,%d origin ino %lu lblk %u flags %s donor ino %lu lblk %u len %u", + TP_printk("dev %d,%d origin ino %llu lblk %u flags %s donor ino %llu lblk %u len %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->orig_ino, __entry->orig_lblk, + __entry->orig_ino, __entry->orig_lblk, show_mflags(__entry->orig_flags), - (unsigned long) __entry->donor_ino, __entry->donor_lblk, + __entry->donor_ino, __entry->donor_lblk, __entry->len) ); @@ -3065,13 +3065,13 @@ TRACE_EVENT(ext4_move_extent_exit, move_len, move_type, ret), TP_STRUCT__entry( + __field(u64, orig_ino) + __field(u64, donor_ino) + __field(u64, move_len) __field(dev_t, dev) - __field(ino_t, orig_ino) __field(ext4_lblk_t, orig_lblk) - __field(ino_t, donor_ino) __field(ext4_lblk_t, donor_lblk) __field(unsigned int, m_len) - __field(u64, move_len) __field(int, move_type) __field(int, ret) ), @@ -3088,10 +3088,10 @@ TRACE_EVENT(ext4_move_extent_exit, __entry->ret = ret; ), - TP_printk("dev %d,%d origin ino %lu lblk %u donor ino %lu lblk %u m_len %u, move_len %llu type %d ret %d", + TP_printk("dev %d,%d origin ino %llu lblk %u donor ino %llu lblk %u m_len %u, move_len %llu type %d ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->orig_ino, __entry->orig_lblk, - (unsigned long) __entry->donor_ino, __entry->donor_lblk, + __entry->orig_ino, __entry->orig_lblk, + __entry->donor_ino, __entry->donor_lblk, __entry->m_len, __entry->move_len, __entry->move_type, __entry->ret) ); diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h index 9364e6775562..b5188d2671d7 100644 --- a/include/trace/events/f2fs.h +++ b/include/trace/events/f2fs.h @@ -9,7 +9,7 @@ #include <uapi/linux/f2fs.h> #define show_dev(dev) MAJOR(dev), MINOR(dev) -#define show_dev_ino(entry) show_dev(entry->dev), (unsigned long)entry->ino +#define show_dev_ino(entry) show_dev(entry->dev), (unsigned long long)entry->ino TRACE_DEFINE_ENUM(NODE); TRACE_DEFINE_ENUM(DATA); @@ -206,13 +206,13 @@ DECLARE_EVENT_CLASS(f2fs__inode, TP_ARGS(inode), TP_STRUCT__entry( + __field(u64, ino) + __field(u64, pino) + __field(loff_t, size) + __field(blkcnt_t, blocks) __field(dev_t, dev) - __field(ino_t, ino) - __field(ino_t, pino) __field(umode_t, mode) - __field(loff_t, size) __field(unsigned int, nlink) - __field(blkcnt_t, blocks) __field(__u8, advise) ), @@ -227,10 +227,10 @@ DECLARE_EVENT_CLASS(f2fs__inode, __entry->advise = F2FS_I(inode)->i_advise; ), - TP_printk("dev = (%d,%d), ino = %lu, pino = %lu, i_mode = 0x%hx, " + TP_printk("dev = (%d,%d), ino = %llu, pino = %llu, i_mode = 0x%hx, " "i_size = %lld, i_nlink = %u, i_blocks = %llu, i_advise = 0x%x", show_dev_ino(__entry), - (unsigned long)__entry->pino, + __entry->pino, __entry->mode, __entry->size, (unsigned int)__entry->nlink, @@ -245,8 +245,8 @@ DECLARE_EVENT_CLASS(f2fs__inode_exit, TP_ARGS(inode, ret), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(umode_t, mode) __field(int, ret) ), @@ -258,7 +258,7 @@ DECLARE_EVENT_CLASS(f2fs__inode_exit, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, type: %s, mode = 0%o, ret = %d", + TP_printk("dev = (%d,%d), ino = %llu, type: %s, mode = 0%o, ret = %d", show_dev_ino(__entry), show_inode_type(__entry->mode & S_IFMT), __entry->mode & S_ALL_PERM, @@ -279,8 +279,8 @@ TRACE_EVENT(f2fs_sync_file_exit, TP_ARGS(inode, cp_reason, datasync, ret), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(int, cp_reason) __field(int, datasync) __field(int, ret) @@ -294,7 +294,7 @@ TRACE_EVENT(f2fs_sync_file_exit, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, cp_reason: %s, " + TP_printk("dev = (%d,%d), ino = %llu, cp_reason: %s, " "datasync = %d, ret = %d", show_dev_ino(__entry), show_fsync_cpreason(__entry->cp_reason), @@ -361,10 +361,10 @@ TRACE_EVENT(f2fs_unlink_enter, TP_ARGS(dir, dentry), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, size) __field(blkcnt_t, blocks) + __field(dev_t, dev) __string(name, dentry->d_name.name) ), @@ -376,7 +376,7 @@ TRACE_EVENT(f2fs_unlink_enter, __assign_str(name); ), - TP_printk("dev = (%d,%d), dir ino = %lu, i_size = %lld, " + TP_printk("dev = (%d,%d), dir ino = %llu, i_size = %lld, " "i_blocks = %llu, name = %s", show_dev_ino(__entry), __entry->size, @@ -412,8 +412,8 @@ TRACE_EVENT(f2fs_truncate_data_blocks_range, TP_ARGS(inode, nid, ofs, free), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(nid_t, nid) __field(unsigned int, ofs) __field(int, free) @@ -427,7 +427,7 @@ TRACE_EVENT(f2fs_truncate_data_blocks_range, __entry->free = free; ), - TP_printk("dev = (%d,%d), ino = %lu, nid = %u, offset = %u, freed = %d", + TP_printk("dev = (%d,%d), ino = %llu, nid = %u, offset = %u, freed = %d", show_dev_ino(__entry), (unsigned int)__entry->nid, __entry->ofs, @@ -441,11 +441,11 @@ DECLARE_EVENT_CLASS(f2fs__truncate_op, TP_ARGS(inode, from), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, size) __field(blkcnt_t, blocks) __field(u64, from) + __field(dev_t, dev) ), TP_fast_assign( @@ -456,7 +456,7 @@ DECLARE_EVENT_CLASS(f2fs__truncate_op, __entry->from = from; ), - TP_printk("dev = (%d,%d), ino = %lu, i_size = %lld, i_blocks = %llu, " + TP_printk("dev = (%d,%d), ino = %llu, i_size = %lld, i_blocks = %llu, " "start file offset = %llu", show_dev_ino(__entry), __entry->size, @@ -499,8 +499,8 @@ DECLARE_EVENT_CLASS(f2fs__truncate_node, TP_ARGS(inode, nid, blk_addr), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(nid_t, nid) __field(block_t, blk_addr) ), @@ -512,7 +512,7 @@ DECLARE_EVENT_CLASS(f2fs__truncate_node, __entry->blk_addr = blk_addr; ), - TP_printk("dev = (%d,%d), ino = %lu, nid = %u, block_address = 0x%llx", + TP_printk("dev = (%d,%d), ino = %llu, nid = %u, block_address = 0x%llx", show_dev_ino(__entry), (unsigned int)__entry->nid, (unsigned long long)__entry->blk_addr) @@ -546,8 +546,8 @@ TRACE_EVENT(f2fs_truncate_partial_nodes, TP_ARGS(inode, nid, depth, err), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __array(nid_t, nid, 3) __field(int, depth) __field(int, err) @@ -563,7 +563,7 @@ TRACE_EVENT(f2fs_truncate_partial_nodes, __entry->err = err; ), - TP_printk("dev = (%d,%d), ino = %lu, " + TP_printk("dev = (%d,%d), ino = %llu, " "nid[0] = %u, nid[1] = %u, nid[2] = %u, depth = %d, err = %d", show_dev_ino(__entry), (unsigned int)__entry->nid[0], @@ -581,11 +581,11 @@ TRACE_EVENT(f2fs_file_write_iter, TP_ARGS(inode, offset, length, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, offset) __field(size_t, length) __field(ssize_t, ret) + __field(dev_t, dev) ), TP_fast_assign( @@ -596,7 +596,7 @@ TRACE_EVENT(f2fs_file_write_iter, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, " + TP_printk("dev = (%d,%d), ino = %llu, " "offset = %lld, length = %zu, written(err) = %zd", show_dev_ino(__entry), __entry->offset, @@ -611,11 +611,11 @@ TRACE_EVENT(f2fs_fadvise, TP_ARGS(inode, offset, len, advice), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, size) __field(loff_t, offset) __field(loff_t, len) + __field(dev_t, dev) __field(int, advice) ), @@ -628,7 +628,7 @@ TRACE_EVENT(f2fs_fadvise, __entry->advice = advice; ), - TP_printk("dev = (%d,%d), ino = %lu, i_size = %lld offset:%llu, len:%llu, advise:%d", + TP_printk("dev = (%d,%d), ino = %llu, i_size = %lld offset:%llu, len:%llu, advise:%d", show_dev_ino(__entry), (unsigned long long)__entry->size, __entry->offset, @@ -643,8 +643,8 @@ TRACE_EVENT(f2fs_map_blocks, TP_ARGS(inode, map, flag, ret), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(block_t, m_lblk) __field(block_t, m_pblk) __field(unsigned int, m_len) @@ -670,7 +670,7 @@ TRACE_EVENT(f2fs_map_blocks, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, file offset = %llu, " + TP_printk("dev = (%d,%d), ino = %llu, file offset = %llu, " "start blkaddr = 0x%llx, len = 0x%llx, flags = %u, " "seg_type = %d, may_create = %d, multidevice = %d, " "flag = %d, err = %d", @@ -885,8 +885,8 @@ TRACE_EVENT(f2fs_lookup_start, TP_ARGS(dir, dentry, flags), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __string(name, dentry->d_name.name) __field(unsigned int, flags) ), @@ -898,7 +898,7 @@ TRACE_EVENT(f2fs_lookup_start, __entry->flags = flags; ), - TP_printk("dev = (%d,%d), pino = %lu, name:%s, flags:%u", + TP_printk("dev = (%d,%d), pino = %llu, name:%s, flags:%u", show_dev_ino(__entry), __get_str(name), __entry->flags) @@ -912,8 +912,8 @@ TRACE_EVENT(f2fs_lookup_end, TP_ARGS(dir, dentry, ino, err), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __string(name, dentry->d_name.name) __field(nid_t, cino) __field(int, err) @@ -927,7 +927,7 @@ TRACE_EVENT(f2fs_lookup_end, __entry->err = err; ), - TP_printk("dev = (%d,%d), pino = %lu, name:%s, ino:%u, err:%d", + TP_printk("dev = (%d,%d), pino = %llu, name:%s, ino:%u, err:%d", show_dev_ino(__entry), __get_str(name), __entry->cino, @@ -943,10 +943,10 @@ TRACE_EVENT(f2fs_rename_start, TP_ARGS(old_dir, old_dentry, new_dir, new_dentry, flags), TP_STRUCT__entry( + __field(u64, ino) + __field(u64, new_pino) __field(dev_t, dev) - __field(ino_t, ino) __string(old_name, old_dentry->d_name.name) - __field(ino_t, new_pino) __string(new_name, new_dentry->d_name.name) __field(unsigned int, flags) ), @@ -960,8 +960,8 @@ TRACE_EVENT(f2fs_rename_start, __entry->flags = flags; ), - TP_printk("dev = (%d,%d), old_dir = %lu, old_name: %s, " - "new_dir = %lu, new_name: %s, flags = %u", + TP_printk("dev = (%d,%d), old_dir = %llu, old_name: %s, " + "new_dir = %llu, new_name: %s, flags = %u", show_dev_ino(__entry), __get_str(old_name), __entry->new_pino, @@ -977,8 +977,8 @@ TRACE_EVENT(f2fs_rename_end, TP_ARGS(old_dentry, new_dentry, flags, ret), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __string(old_name, old_dentry->d_name.name) __string(new_name, new_dentry->d_name.name) __field(unsigned int, flags) @@ -994,7 +994,7 @@ TRACE_EVENT(f2fs_rename_end, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, old_name: %s, " + TP_printk("dev = (%d,%d), ino = %llu, old_name: %s, " "new_name: %s, flags = %u, ret = %d", show_dev_ino(__entry), __get_str(old_name), @@ -1010,10 +1010,10 @@ TRACE_EVENT(f2fs_readdir, TP_ARGS(dir, start_pos, end_pos, err), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, start) __field(loff_t, end) + __field(dev_t, dev) __field(int, err) ), @@ -1025,7 +1025,7 @@ TRACE_EVENT(f2fs_readdir, __entry->err = err; ), - TP_printk("dev = (%d,%d), ino = %lu, start_pos:%llu, end_pos:%llu, err:%d", + TP_printk("dev = (%d,%d), ino = %llu, start_pos:%llu, end_pos:%llu, err:%d", show_dev_ino(__entry), __entry->start, __entry->end, @@ -1040,13 +1040,13 @@ TRACE_EVENT(f2fs_fallocate, TP_ARGS(inode, mode, offset, len, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) - __field(int, mode) + __field(u64, ino) __field(loff_t, offset) __field(loff_t, len) __field(loff_t, size) __field(blkcnt_t, blocks) + __field(dev_t, dev) + __field(int, mode) __field(int, ret) ), @@ -1061,7 +1061,7 @@ TRACE_EVENT(f2fs_fallocate, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, mode = %x, offset = %lld, " + TP_printk("dev = (%d,%d), ino = %llu, mode = %x, offset = %lld, " "len = %lld, i_size = %lld, i_blocks = %llu, ret = %d", show_dev_ino(__entry), __entry->mode, @@ -1079,12 +1079,12 @@ TRACE_EVENT(f2fs_direct_IO_enter, TP_ARGS(inode, iocb, len, rw), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, ki_pos) + __field(unsigned long, len) + __field(dev_t, dev) __field(int, ki_flags) __field(u16, ki_ioprio) - __field(unsigned long, len) __field(int, rw) ), @@ -1098,7 +1098,7 @@ TRACE_EVENT(f2fs_direct_IO_enter, __entry->rw = rw; ), - TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_ioprio = %x rw = %d", + TP_printk("dev = (%d,%d), ino = %llu pos = %lld len = %lu ki_flags = %x ki_ioprio = %x rw = %d", show_dev_ino(__entry), __entry->ki_pos, __entry->len, @@ -1115,10 +1115,10 @@ TRACE_EVENT(f2fs_direct_IO_exit, TP_ARGS(inode, offset, len, rw, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, pos) __field(unsigned long, len) + __field(dev_t, dev) __field(int, rw) __field(int, ret) ), @@ -1132,7 +1132,7 @@ TRACE_EVENT(f2fs_direct_IO_exit, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu " + TP_printk("dev = (%d,%d), ino = %llu pos = %lld len = %lu " "rw = %d ret = %d", show_dev_ino(__entry), __entry->pos, @@ -1176,9 +1176,9 @@ DECLARE_EVENT_CLASS(f2fs__submit_folio_bio, TP_ARGS(folio, fio), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, index) + __field(dev_t, dev) __field(block_t, old_blkaddr) __field(block_t, new_blkaddr) __field(enum req_op, op) @@ -1199,7 +1199,7 @@ DECLARE_EVENT_CLASS(f2fs__submit_folio_bio, __entry->type = fio->type; ), - TP_printk("dev = (%d,%d), ino = %lu, folio_index = 0x%lx, " + TP_printk("dev = (%d,%d), ino = %llu, folio_index = 0x%lx, " "oldaddr = 0x%llx, newaddr = 0x%llx, rw = %s(%s), type = %s_%s", show_dev_ino(__entry), (unsigned long)__entry->index, @@ -1306,9 +1306,9 @@ TRACE_EVENT(f2fs_write_begin, TP_ARGS(inode, pos, len), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, pos) + __field(dev_t, dev) __field(unsigned int, len) ), @@ -1319,7 +1319,7 @@ TRACE_EVENT(f2fs_write_begin, __entry->len = len; ), - TP_printk("dev = (%d,%d), ino = %lu, pos = %llu, len = %u", + TP_printk("dev = (%d,%d), ino = %llu, pos = %llu, len = %u", show_dev_ino(__entry), (unsigned long long)__entry->pos, __entry->len) @@ -1333,9 +1333,9 @@ TRACE_EVENT(f2fs_write_end, TP_ARGS(inode, pos, len, copied), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, pos) + __field(dev_t, dev) __field(unsigned int, len) __field(unsigned int, copied) ), @@ -1348,7 +1348,7 @@ TRACE_EVENT(f2fs_write_end, __entry->copied = copied; ), - TP_printk("dev = (%d,%d), ino = %lu, pos = %llu, len = %u, copied = %u", + TP_printk("dev = (%d,%d), ino = %llu, pos = %llu, len = %u, copied = %u", show_dev_ino(__entry), (unsigned long long)__entry->pos, __entry->len, @@ -1362,12 +1362,12 @@ DECLARE_EVENT_CLASS(f2fs__folio, TP_ARGS(folio, type), TP_STRUCT__entry( + __field(u64, ino) + __field(pgoff_t, index) + __field(pgoff_t, nrpages) __field(dev_t, dev) - __field(ino_t, ino) __field(int, type) __field(int, dir) - __field(pgoff_t, index) - __field(pgoff_t, nrpages) __field(int, dirty) __field(int, uptodate) ), @@ -1383,7 +1383,7 @@ DECLARE_EVENT_CLASS(f2fs__folio, __entry->uptodate = folio_test_uptodate(folio); ), - TP_printk("dev = (%d,%d), ino = %lu, %s, %s, index = %lu, nr_pages = %lu, " + TP_printk("dev = (%d,%d), ino = %llu, %s, %s, index = %lu, nr_pages = %lu, " "dirty = %d, uptodate = %d", show_dev_ino(__entry), show_block_type(__entry->type), @@ -1437,10 +1437,10 @@ TRACE_EVENT(f2fs_replace_atomic_write_block, TP_ARGS(inode, cow_inode, index, old_addr, new_addr, recovery), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) - __field(ino_t, cow_ino) + __field(u64, ino) + __field(u64, cow_ino) __field(pgoff_t, index) + __field(dev_t, dev) __field(block_t, old_addr) __field(block_t, new_addr) __field(bool, recovery) @@ -1456,7 +1456,7 @@ TRACE_EVENT(f2fs_replace_atomic_write_block, __entry->recovery = recovery; ), - TP_printk("dev = (%d,%d), ino = %lu, cow_ino = %lu, index = %lu, " + TP_printk("dev = (%d,%d), ino = %llu, cow_ino = %llu, index = %lu, " "old_addr = 0x%llx, new_addr = 0x%llx, recovery = %d", show_dev_ino(__entry), __entry->cow_ino, @@ -1474,10 +1474,10 @@ DECLARE_EVENT_CLASS(f2fs_mmap, TP_ARGS(inode, index, flags, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, index) __field(vm_flags_t, flags) + __field(dev_t, dev) __field(vm_fault_t, ret) ), @@ -1489,7 +1489,7 @@ DECLARE_EVENT_CLASS(f2fs_mmap, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, index = %lu, flags: %s, ret: %s", + TP_printk("dev = (%d,%d), ino = %llu, index = %lu, flags: %s, ret: %s", show_dev_ino(__entry), (unsigned long)__entry->index, __print_flags(__entry->flags, "|", FAULT_FLAG_TRACE), @@ -1519,15 +1519,15 @@ TRACE_EVENT(f2fs_writepages, TP_ARGS(inode, wbc, type), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) - __field(int, type) - __field(int, dir) - __field(long, nr_to_write) - __field(long, pages_skipped) + __field(u64, ino) __field(loff_t, range_start) __field(loff_t, range_end) + __field(long, nr_to_write) + __field(long, pages_skipped) __field(pgoff_t, writeback_index) + __field(dev_t, dev) + __field(int, type) + __field(int, dir) __field(int, sync_mode) __field(char, for_kupdate) __field(char, for_background) @@ -1554,7 +1554,7 @@ TRACE_EVENT(f2fs_writepages, __entry->for_sync = wbc->for_sync; ), - TP_printk("dev = (%d,%d), ino = %lu, %s, %s, nr_to_write %ld, " + TP_printk("dev = (%d,%d), ino = %llu, %s, %s, nr_to_write %ld, " "skipped %ld, start %lld, end %lld, wb_idx %lu, sync_mode %d, " "kupdate %u background %u tagged %u cyclic %u sync %u", show_dev_ino(__entry), @@ -1580,9 +1580,9 @@ TRACE_EVENT(f2fs_readpages, TP_ARGS(inode, start, nrpage), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, start) + __field(dev_t, dev) __field(unsigned int, nrpage) ), @@ -1593,7 +1593,7 @@ TRACE_EVENT(f2fs_readpages, __entry->nrpage = nrpage; ), - TP_printk("dev = (%d,%d), ino = %lu, start = %lu nrpage = %u", + TP_printk("dev = (%d,%d), ino = %llu, start = %lu nrpage = %u", show_dev_ino(__entry), (unsigned long)__entry->start, __entry->nrpage) @@ -1738,8 +1738,8 @@ TRACE_EVENT(f2fs_lookup_extent_tree_start, TP_ARGS(inode, pgofs, type), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, pgofs) __field(enum extent_type, type) ), @@ -1751,7 +1751,7 @@ TRACE_EVENT(f2fs_lookup_extent_tree_start, __entry->type = type; ), - TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, type = %s", + TP_printk("dev = (%d,%d), ino = %llu, pgofs = %u, type = %s", show_dev_ino(__entry), __entry->pgofs, show_extent_type(__entry->type)) @@ -1767,8 +1767,8 @@ TRACE_EVENT_CONDITION(f2fs_lookup_read_extent_tree_end, TP_CONDITION(ei), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, pgofs) __field(unsigned int, fofs) __field(unsigned int, len) @@ -1784,7 +1784,7 @@ TRACE_EVENT_CONDITION(f2fs_lookup_read_extent_tree_end, __entry->blk = ei->blk; ), - TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, " + TP_printk("dev = (%d,%d), ino = %llu, pgofs = %u, " "read_ext_info(fofs: %u, len: %u, blk: %u)", show_dev_ino(__entry), __entry->pgofs, @@ -1803,13 +1803,13 @@ TRACE_EVENT_CONDITION(f2fs_lookup_age_extent_tree_end, TP_CONDITION(ei), TP_STRUCT__entry( + __field(u64, ino) + __field(unsigned long long, age) + __field(unsigned long long, blocks) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, pgofs) __field(unsigned int, fofs) __field(unsigned int, len) - __field(unsigned long long, age) - __field(unsigned long long, blocks) ), TP_fast_assign( @@ -1822,7 +1822,7 @@ TRACE_EVENT_CONDITION(f2fs_lookup_age_extent_tree_end, __entry->blocks = ei->last_blocks; ), - TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, " + TP_printk("dev = (%d,%d), ino = %llu, pgofs = %u, " "age_ext_info(fofs: %u, len: %u, age: %llu, blocks: %llu)", show_dev_ino(__entry), __entry->pgofs, @@ -1841,8 +1841,8 @@ TRACE_EVENT(f2fs_update_read_extent_tree_range, TP_ARGS(inode, pgofs, len, blkaddr, c_len), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, pgofs) __field(u32, blk) __field(unsigned int, len) @@ -1858,7 +1858,7 @@ TRACE_EVENT(f2fs_update_read_extent_tree_range, __entry->c_len = c_len; ), - TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, " + TP_printk("dev = (%d,%d), ino = %llu, pgofs = %u, " "len = %u, blkaddr = %u, c_len = %u", show_dev_ino(__entry), __entry->pgofs, @@ -1876,12 +1876,12 @@ TRACE_EVENT(f2fs_update_age_extent_tree_range, TP_ARGS(inode, pgofs, len, age, last_blks), TP_STRUCT__entry( + __field(u64, ino) + __field(unsigned long long, age) + __field(unsigned long long, blocks) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, pgofs) __field(unsigned int, len) - __field(unsigned long long, age) - __field(unsigned long long, blocks) ), TP_fast_assign( @@ -1893,7 +1893,7 @@ TRACE_EVENT(f2fs_update_age_extent_tree_range, __entry->blocks = last_blks; ), - TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, " + TP_printk("dev = (%d,%d), ino = %llu, pgofs = %u, " "len = %u, age = %llu, blocks = %llu", show_dev_ino(__entry), __entry->pgofs, @@ -1938,8 +1938,8 @@ TRACE_EVENT(f2fs_destroy_extent_tree, TP_ARGS(inode, node_cnt, type), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, node_cnt) __field(enum extent_type, type) ), @@ -1951,7 +1951,7 @@ TRACE_EVENT(f2fs_destroy_extent_tree, __entry->type = type; ), - TP_printk("dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u, type = %s", + TP_printk("dev = (%d,%d), ino = %llu, destroyed: node_cnt = %u, type = %s", show_dev_ino(__entry), __entry->node_cnt, show_extent_type(__entry->type)) @@ -2027,9 +2027,9 @@ DECLARE_EVENT_CLASS(f2fs_zip_start, TP_ARGS(inode, cluster_idx, cluster_size, algtype), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, idx) + __field(dev_t, dev) __field(unsigned int, size) __field(unsigned int, algtype) ), @@ -2042,7 +2042,7 @@ DECLARE_EVENT_CLASS(f2fs_zip_start, __entry->algtype = algtype; ), - TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, " + TP_printk("dev = (%d,%d), ino = %llu, cluster_idx:%lu, " "cluster_size = %u, algorithm = %s", show_dev_ino(__entry), __entry->idx, @@ -2058,9 +2058,9 @@ DECLARE_EVENT_CLASS(f2fs_zip_end, TP_ARGS(inode, cluster_idx, compressed_size, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, idx) + __field(dev_t, dev) __field(unsigned int, size) __field(unsigned int, ret) ), @@ -2073,7 +2073,7 @@ DECLARE_EVENT_CLASS(f2fs_zip_end, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, " + TP_printk("dev = (%d,%d), ino = %llu, cluster_idx:%lu, " "compressed_size = %u, ret = %d", show_dev_ino(__entry), __entry->idx, @@ -2116,9 +2116,10 @@ DEFINE_EVENT(f2fs_zip_end, f2fs_decompress_pages_end, #ifdef CONFIG_F2FS_IOSTAT TRACE_EVENT(f2fs_iostat, - TP_PROTO(struct f2fs_sb_info *sbi, unsigned long long *iostat), + TP_PROTO(struct f2fs_sb_info *sbi, unsigned long long *iostat, + unsigned long long *read_folio_count), - TP_ARGS(sbi, iostat), + TP_ARGS(sbi, iostat, read_folio_count), TP_STRUCT__entry( __field(dev_t, dev) @@ -2150,6 +2151,7 @@ TRACE_EVENT(f2fs_iostat, __field(unsigned long long, fs_mrio) __field(unsigned long long, fs_discard) __field(unsigned long long, fs_reset_zone) + __array(unsigned long long, read_folio_count, 11) ), TP_fast_assign( @@ -2182,6 +2184,9 @@ TRACE_EVENT(f2fs_iostat, __entry->fs_mrio = iostat[FS_META_READ_IO]; __entry->fs_discard = iostat[FS_DISCARD_IO]; __entry->fs_reset_zone = iostat[FS_ZONE_RESET_IO]; + memset(__entry->read_folio_count, 0, sizeof(__entry->read_folio_count)); + memcpy(__entry->read_folio_count, read_folio_count, + sizeof(unsigned long long) * min_t(int, NR_PAGE_ORDERS, 11)); ), TP_printk("dev = (%d,%d), " @@ -2194,7 +2199,9 @@ TRACE_EVENT(f2fs_iostat, "app [read=%llu (direct=%llu, buffered=%llu), mapped=%llu], " "compr(buffered=%llu, mapped=%llu)], " "fs [data=%llu, (gc_data=%llu, cdata=%llu), " - "node=%llu, meta=%llu]", + "node=%llu, meta=%llu], " + "read_folio_count [0=%llu, 1=%llu, 2=%llu, 3=%llu, 4=%llu, " + "5=%llu, 6=%llu, 7=%llu, 8=%llu, 9=%llu, 10=%llu]", show_dev(__entry->dev), __entry->app_wio, __entry->app_dio, __entry->app_bio, __entry->app_mio, __entry->app_bcdio, __entry->app_mcdio, __entry->fs_dio, __entry->fs_cdio, @@ -2205,7 +2212,13 @@ TRACE_EVENT(f2fs_iostat, __entry->app_rio, __entry->app_drio, __entry->app_brio, __entry->app_mrio, __entry->app_bcrio, __entry->app_mcrio, __entry->fs_drio, __entry->fs_gdrio, - __entry->fs_cdrio, __entry->fs_nrio, __entry->fs_mrio) + __entry->fs_cdrio, __entry->fs_nrio, __entry->fs_mrio, + __entry->read_folio_count[0], __entry->read_folio_count[1], + __entry->read_folio_count[2], __entry->read_folio_count[3], + __entry->read_folio_count[4], __entry->read_folio_count[5], + __entry->read_folio_count[6], __entry->read_folio_count[7], + __entry->read_folio_count[8], __entry->read_folio_count[9], + __entry->read_folio_count[10]) ); #ifndef __F2FS_IOSTAT_LATENCY_TYPE @@ -2311,10 +2324,10 @@ TRACE_EVENT(f2fs_bmap, TP_ARGS(inode, lblock, pblock), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(sector_t, lblock) __field(sector_t, pblock) + __field(dev_t, dev) ), TP_fast_assign( @@ -2324,7 +2337,7 @@ TRACE_EVENT(f2fs_bmap, __entry->pblock = pblock; ), - TP_printk("dev = (%d,%d), ino = %lu, lblock:%lld, pblock:%lld", + TP_printk("dev = (%d,%d), ino = %llu, lblock:%lld, pblock:%lld", show_dev_ino(__entry), (unsigned long long)__entry->lblock, (unsigned long long)__entry->pblock) @@ -2338,11 +2351,11 @@ TRACE_EVENT(f2fs_fiemap, TP_ARGS(inode, lblock, pblock, len, flags, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(sector_t, lblock) __field(sector_t, pblock) __field(unsigned long long, len) + __field(dev_t, dev) __field(unsigned int, flags) __field(int, ret) ), @@ -2357,7 +2370,7 @@ TRACE_EVENT(f2fs_fiemap, __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, lblock:%lld, pblock:%lld, " + TP_printk("dev = (%d,%d), ino = %llu, lblock:%lld, pblock:%lld, " "len:%llu, flags:%u, ret:%d", show_dev_ino(__entry), (unsigned long long)__entry->lblock, @@ -2375,13 +2388,13 @@ DECLARE_EVENT_CLASS(f2fs__rw_start, TP_ARGS(inode, offset, bytes, pid, pathname, command), TP_STRUCT__entry( - __string(pathbuf, pathname) + __field(u64, ino) __field(loff_t, offset) - __field(int, bytes) __field(loff_t, i_size) + __string(pathbuf, pathname) __string(cmdline, command) __field(pid_t, pid) - __field(ino_t, ino) + __field(int, bytes) ), TP_fast_assign( @@ -2402,10 +2415,10 @@ DECLARE_EVENT_CLASS(f2fs__rw_start, ), TP_printk("entry_name %s, offset %llu, bytes %d, cmdline %s," - " pid %d, i_size %llu, ino %lu", + " pid %d, i_size %llu, ino %llu", __get_str(pathbuf), __entry->offset, __entry->bytes, __get_str(cmdline), __entry->pid, __entry->i_size, - (unsigned long) __entry->ino) + __entry->ino) ); DECLARE_EVENT_CLASS(f2fs__rw_end, @@ -2415,7 +2428,7 @@ DECLARE_EVENT_CLASS(f2fs__rw_end, TP_ARGS(inode, offset, bytes), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(loff_t, offset) __field(int, bytes) ), @@ -2426,8 +2439,8 @@ DECLARE_EVENT_CLASS(f2fs__rw_end, __entry->bytes = bytes; ), - TP_printk("ino %lu, offset %llu, bytes %d", - (unsigned long) __entry->ino, + TP_printk("ino %llu, offset %llu, bytes %d", + __entry->ino, __entry->offset, __entry->bytes) ); diff --git a/include/trace/events/filelock.h b/include/trace/events/filelock.h index 370016c38a5b..116774886244 100644 --- a/include/trace/events/filelock.h +++ b/include/trace/events/filelock.h @@ -42,10 +42,10 @@ TRACE_EVENT(locks_get_lock_context, TP_ARGS(inode, type, ctx), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) + __field(struct file_lock_context *, ctx) __field(dev_t, s_dev) __field(unsigned char, type) - __field(struct file_lock_context *, ctx) ), TP_fast_assign( @@ -55,7 +55,7 @@ TRACE_EVENT(locks_get_lock_context, __entry->ctx = ctx; ), - TP_printk("dev=0x%x:0x%x ino=0x%lx type=%s ctx=%p", + TP_printk("dev=0x%x:0x%x ino=0x%llx type=%s ctx=%p", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, show_fl_type(__entry->type), __entry->ctx) ); @@ -66,16 +66,16 @@ DECLARE_EVENT_CLASS(filelock_lock, TP_ARGS(inode, fl, ret), TP_STRUCT__entry( + __field(u64, i_ino) + __field(loff_t, fl_start) + __field(loff_t, fl_end) __field(struct file_lock *, fl) - __field(unsigned long, i_ino) - __field(dev_t, s_dev) __field(struct file_lock_core *, blocker) __field(fl_owner_t, owner) + __field(dev_t, s_dev) __field(unsigned int, pid) __field(unsigned int, flags) __field(unsigned char, type) - __field(loff_t, fl_start) - __field(loff_t, fl_end) __field(int, ret) ), @@ -93,7 +93,7 @@ DECLARE_EVENT_CLASS(filelock_lock, __entry->ret = ret; ), - TP_printk("fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d", + TP_printk("fl=%p dev=0x%x:0x%x ino=0x%llx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d", __entry->fl, MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->blocker, __entry->owner, __entry->pid, show_fl_flags(__entry->flags), @@ -123,15 +123,15 @@ DECLARE_EVENT_CLASS(filelock_lease, TP_ARGS(inode, fl), TP_STRUCT__entry( + __field(u64, i_ino) __field(struct file_lease *, fl) - __field(unsigned long, i_ino) - __field(dev_t, s_dev) __field(struct file_lock_core *, blocker) __field(fl_owner_t, owner) - __field(unsigned int, flags) - __field(unsigned char, type) __field(unsigned long, break_time) __field(unsigned long, downgrade_time) + __field(dev_t, s_dev) + __field(unsigned int, flags) + __field(unsigned char, type) ), TP_fast_assign( @@ -146,7 +146,7 @@ DECLARE_EVENT_CLASS(filelock_lease, __entry->downgrade_time = fl ? fl->fl_downgrade_time : 0; ), - TP_printk("fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", + TP_printk("fl=%p dev=0x%x:0x%x ino=0x%llx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", __entry->fl, MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->blocker, __entry->owner, show_fl_flags(__entry->flags), @@ -175,12 +175,12 @@ TRACE_EVENT(generic_add_lease, TP_ARGS(inode, fl), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) + __field(fl_owner_t, owner) + __field(dev_t, s_dev) __field(int, wcount) __field(int, rcount) __field(int, icount) - __field(dev_t, s_dev) - __field(fl_owner_t, owner) __field(unsigned int, flags) __field(unsigned char, type) ), @@ -196,7 +196,7 @@ TRACE_EVENT(generic_add_lease, __entry->type = fl->c.flc_type; ), - TP_printk("dev=0x%x:0x%x ino=0x%lx wcount=%d rcount=%d icount=%d fl_owner=%p fl_flags=%s fl_type=%s", + TP_printk("dev=0x%x:0x%x ino=0x%llx wcount=%d rcount=%d icount=%d fl_owner=%p fl_flags=%s fl_type=%s", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->wcount, __entry->rcount, __entry->icount, __entry->owner, diff --git a/include/trace/events/filemap.h b/include/trace/events/filemap.h index f48fe637bfd2..4dcf8e9e2e0d 100644 --- a/include/trace/events/filemap.h +++ b/include/trace/events/filemap.h @@ -20,8 +20,8 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache, TP_ARGS(folio), TP_STRUCT__entry( + __field(u64, i_ino) __field(unsigned long, pfn) - __field(unsigned long, i_ino) __field(unsigned long, index) __field(dev_t, s_dev) __field(unsigned char, order) @@ -38,7 +38,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache, __entry->order = folio_order(folio); ), - TP_printk("dev %d:%d ino %lx pfn=0x%lx ofs=%lu order=%u", + TP_printk("dev %d:%d ino %llx pfn=0x%lx ofs=%lu order=%u", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->pfn, @@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache_range, TP_ARGS(mapping, index, last_index), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) __field(dev_t, s_dev) __field(unsigned long, index) __field(unsigned long, last_index) @@ -85,7 +85,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache_range, ), TP_printk( - "dev=%d:%d ino=%lx ofs=%lld-%lld", + "dev=%d:%d ino=%llx ofs=%lld-%lld", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, ((loff_t)__entry->index) << PAGE_SHIFT, @@ -117,7 +117,7 @@ TRACE_EVENT(mm_filemap_fault, TP_ARGS(mapping, index), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) __field(dev_t, s_dev) __field(unsigned long, index) ), @@ -133,7 +133,7 @@ TRACE_EVENT(mm_filemap_fault, ), TP_printk( - "dev=%d:%d ino=%lx ofs=%lld", + "dev=%d:%d ino=%llx ofs=%lld", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, ((loff_t)__entry->index) << PAGE_SHIFT @@ -146,7 +146,7 @@ TRACE_EVENT(filemap_set_wb_err, TP_ARGS(mapping, eseq), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) __field(dev_t, s_dev) __field(errseq_t, errseq) ), @@ -160,7 +160,7 @@ TRACE_EVENT(filemap_set_wb_err, __entry->s_dev = mapping->host->i_rdev; ), - TP_printk("dev=%d:%d ino=0x%lx errseq=0x%x", + TP_printk("dev=%d:%d ino=0x%llx errseq=0x%x", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->errseq) ); @@ -171,8 +171,8 @@ TRACE_EVENT(file_check_and_advance_wb_err, TP_ARGS(file, old), TP_STRUCT__entry( + __field(u64, i_ino) __field(struct file *, file) - __field(unsigned long, i_ino) __field(dev_t, s_dev) __field(errseq_t, old) __field(errseq_t, new) @@ -191,7 +191,7 @@ TRACE_EVENT(file_check_and_advance_wb_err, __entry->new = file->f_wb_err; ), - TP_printk("file=%p dev=%d:%d ino=0x%lx old=0x%x new=0x%x", + TP_printk("file=%p dev=%d:%d ino=0x%llx old=0x%x new=0x%x", __entry->file, MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->old, __entry->new) diff --git a/include/trace/events/fs_dax.h b/include/trace/events/fs_dax.h index 50ebc1290ab0..11121baa8ece 100644 --- a/include/trace/events/fs_dax.h +++ b/include/trace/events/fs_dax.h @@ -12,7 +12,7 @@ DECLARE_EVENT_CLASS(dax_pmd_fault_class, pgoff_t max_pgoff, int result), TP_ARGS(inode, vmf, max_pgoff, result), TP_STRUCT__entry( - __field(unsigned long, ino) + __field(u64, ino) __field(unsigned long, vm_start) __field(unsigned long, vm_end) __field(vm_flags_t, vm_flags) @@ -35,7 +35,7 @@ DECLARE_EVENT_CLASS(dax_pmd_fault_class, __entry->max_pgoff = max_pgoff; __entry->result = result; ), - TP_printk("dev %d:%d ino %#lx %s %s address %#lx vm_start " + TP_printk("dev %d:%d ino %#llx %s %s address %#lx vm_start " "%#lx vm_end %#lx pgoff %#lx max_pgoff %#lx %s", MAJOR(__entry->dev), MINOR(__entry->dev), @@ -66,7 +66,7 @@ DECLARE_EVENT_CLASS(dax_pmd_load_hole_class, void *radix_entry), TP_ARGS(inode, vmf, zero_folio, radix_entry), TP_STRUCT__entry( - __field(unsigned long, ino) + __field(u64, ino) __field(vm_flags_t, vm_flags) __field(unsigned long, address) __field(struct folio *, zero_folio) @@ -81,7 +81,7 @@ DECLARE_EVENT_CLASS(dax_pmd_load_hole_class, __entry->zero_folio = zero_folio; __entry->radix_entry = radix_entry; ), - TP_printk("dev %d:%d ino %#lx %s address %#lx zero_folio %p " + TP_printk("dev %d:%d ino %#llx %s address %#lx zero_folio %p " "radix_entry %#lx", MAJOR(__entry->dev), MINOR(__entry->dev), @@ -106,7 +106,7 @@ DECLARE_EVENT_CLASS(dax_pte_fault_class, TP_PROTO(struct inode *inode, struct vm_fault *vmf, int result), TP_ARGS(inode, vmf, result), TP_STRUCT__entry( - __field(unsigned long, ino) + __field(u64, ino) __field(vm_flags_t, vm_flags) __field(unsigned long, address) __field(pgoff_t, pgoff) @@ -123,7 +123,7 @@ DECLARE_EVENT_CLASS(dax_pte_fault_class, __entry->pgoff = vmf->pgoff; __entry->result = result; ), - TP_printk("dev %d:%d ino %#lx %s %s address %#lx pgoff %#lx %s", + TP_printk("dev %d:%d ino %#llx %s %s address %#lx pgoff %#lx %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -150,7 +150,7 @@ DECLARE_EVENT_CLASS(dax_writeback_range_class, TP_PROTO(struct inode *inode, pgoff_t start_index, pgoff_t end_index), TP_ARGS(inode, start_index, end_index), TP_STRUCT__entry( - __field(unsigned long, ino) + __field(u64, ino) __field(pgoff_t, start_index) __field(pgoff_t, end_index) __field(dev_t, dev) @@ -161,7 +161,7 @@ DECLARE_EVENT_CLASS(dax_writeback_range_class, __entry->start_index = start_index; __entry->end_index = end_index; ), - TP_printk("dev %d:%d ino %#lx pgoff %#lx-%#lx", + TP_printk("dev %d:%d ino %#llx pgoff %#lx-%#lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -182,7 +182,7 @@ TRACE_EVENT(dax_writeback_one, TP_PROTO(struct inode *inode, pgoff_t pgoff, pgoff_t pglen), TP_ARGS(inode, pgoff, pglen), TP_STRUCT__entry( - __field(unsigned long, ino) + __field(u64, ino) __field(pgoff_t, pgoff) __field(pgoff_t, pglen) __field(dev_t, dev) @@ -193,7 +193,7 @@ TRACE_EVENT(dax_writeback_one, __entry->pgoff = pgoff; __entry->pglen = pglen; ), - TP_printk("dev %d:%d ino %#lx pgoff %#lx pglen %#lx", + TP_printk("dev %d:%d ino %#llx pgoff %#lx pglen %#lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, diff --git a/include/trace/events/fsverity.h b/include/trace/events/fsverity.h index a8c52f21cbd5..4477c17e0574 100644 --- a/include/trace/events/fsverity.h +++ b/include/trace/events/fsverity.h @@ -16,7 +16,7 @@ TRACE_EVENT(fsverity_enable, const struct merkle_tree_params *params), TP_ARGS(inode, params), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(u64, data_size) __field(u64, tree_size) __field(unsigned int, merkle_block) @@ -29,8 +29,8 @@ TRACE_EVENT(fsverity_enable, __entry->merkle_block = params->block_size; __entry->num_levels = params->num_levels; ), - TP_printk("ino %lu data_size %llu tree_size %llu merkle_block %u levels %u", - (unsigned long) __entry->ino, + TP_printk("ino %llu data_size %llu tree_size %llu merkle_block %u levels %u", + __entry->ino, __entry->data_size, __entry->tree_size, __entry->merkle_block, @@ -42,7 +42,7 @@ TRACE_EVENT(fsverity_tree_done, const struct merkle_tree_params *params), TP_ARGS(inode, vi, params), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(u64, data_size) __field(u64, tree_size) __field(unsigned int, merkle_block) @@ -59,8 +59,8 @@ TRACE_EVENT(fsverity_tree_done, memcpy(__get_dynamic_array(root_hash), vi->root_hash, __get_dynamic_array_len(root_hash)); memcpy(__get_dynamic_array(file_digest), vi->file_digest, __get_dynamic_array_len(file_digest)); ), - TP_printk("ino %lu data_size %llu tree_size %lld merkle_block %u levels %u root_hash %s digest %s", - (unsigned long) __entry->ino, + TP_printk("ino %llu data_size %llu tree_size %lld merkle_block %u levels %u root_hash %s digest %s", + __entry->ino, __entry->data_size, __entry->tree_size, __entry->merkle_block, @@ -75,7 +75,7 @@ TRACE_EVENT(fsverity_verify_data_block, u64 data_pos), TP_ARGS(inode, params, data_pos), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(u64, data_pos) __field(unsigned int, merkle_block) ), @@ -84,8 +84,8 @@ TRACE_EVENT(fsverity_verify_data_block, __entry->data_pos = data_pos; __entry->merkle_block = params->block_size; ), - TP_printk("ino %lu data_pos %llu merkle_block %u", - (unsigned long) __entry->ino, + TP_printk("ino %llu data_pos %llu merkle_block %u", + __entry->ino, __entry->data_pos, __entry->merkle_block) ); @@ -96,7 +96,7 @@ TRACE_EVENT(fsverity_merkle_hit, unsigned int hidx), TP_ARGS(inode, data_pos, hblock_idx, level, hidx), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(u64, data_pos) __field(unsigned long, hblock_idx) __field(unsigned int, level) @@ -109,8 +109,8 @@ TRACE_EVENT(fsverity_merkle_hit, __entry->level = level; __entry->hidx = hidx; ), - TP_printk("ino %lu data_pos %llu hblock_idx %lu level %u hidx %u", - (unsigned long) __entry->ino, + TP_printk("ino %llu data_pos %llu hblock_idx %lu level %u hidx %u", + __entry->ino, __entry->data_pos, __entry->hblock_idx, __entry->level, @@ -122,7 +122,7 @@ TRACE_EVENT(fsverity_verify_merkle_block, unsigned int level, unsigned int hidx), TP_ARGS(inode, hblock_idx, level, hidx), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(unsigned long, hblock_idx) __field(unsigned int, level) __field(unsigned int, hidx) @@ -133,8 +133,8 @@ TRACE_EVENT(fsverity_verify_merkle_block, __entry->level = level; __entry->hidx = hidx; ), - TP_printk("ino %lu hblock_idx %lu level %u hidx %u", - (unsigned long) __entry->ino, + TP_printk("ino %llu hblock_idx %lu level %u hidx %u", + __entry->ino, __entry->hblock_idx, __entry->level, __entry->hidx) diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h index 4e41bff31888..bcdc57eea270 100644 --- a/include/trace/events/huge_memory.h +++ b/include/trace/events/huge_memory.h @@ -25,6 +25,7 @@ EM( SCAN_PAGE_LRU, "page_not_in_lru") \ EM( SCAN_PAGE_LOCK, "page_locked") \ EM( SCAN_PAGE_ANON, "page_not_anon") \ + EM( SCAN_PAGE_LAZYFREE, "page_lazyfree") \ EM( SCAN_PAGE_COMPOUND, "page_compound") \ EM( SCAN_ANY_PROCESS, "no_process_for_page") \ EM( SCAN_VMA_NULL, "vma_null") \ @@ -237,5 +238,30 @@ TRACE_EVENT(mm_khugepaged_collapse_file, __print_symbolic(__entry->result, SCAN_STATUS)) ); +TRACE_EVENT(mm_khugepaged_scan, + + TP_PROTO(struct mm_struct *mm, unsigned int progress, + bool full_scan_finished), + + TP_ARGS(mm, progress, full_scan_finished), + + TP_STRUCT__entry( + __field(struct mm_struct *, mm) + __field(unsigned int, progress) + __field(bool, full_scan_finished) + ), + + TP_fast_assign( + __entry->mm = mm; + __entry->progress = progress; + __entry->full_scan_finished = full_scan_finished; + ), + + TP_printk("mm=%p, progress=%u, full_scan_finished=%d", + __entry->mm, + __entry->progress, + __entry->full_scan_finished) +); + #endif /* __HUGE_MEMORY_H */ #include <trace/define_trace.h> diff --git a/include/trace/events/hugetlbfs.h b/include/trace/events/hugetlbfs.h index 59605dfaeeb4..8ba72c1d4f4d 100644 --- a/include/trace/events/hugetlbfs.h +++ b/include/trace/events/hugetlbfs.h @@ -14,9 +14,9 @@ TRACE_EVENT(hugetlbfs_alloc_inode, TP_ARGS(inode, dir, mode), TP_STRUCT__entry( + __field(u64, ino) + __field(u64, dir) __field(dev_t, dev) - __field(ino_t, ino) - __field(ino_t, dir) __field(__u16, mode) ), @@ -27,10 +27,10 @@ TRACE_EVENT(hugetlbfs_alloc_inode, __entry->mode = mode; ), - TP_printk("dev %d,%d ino %lu dir %lu mode 0%o", + TP_printk("dev %d,%d ino %llu dir %llu mode 0%o", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino, - (unsigned long) __entry->dir, __entry->mode) + __entry->ino, + __entry->dir, __entry->mode) ); DECLARE_EVENT_CLASS(hugetlbfs__inode, @@ -40,13 +40,13 @@ DECLARE_EVENT_CLASS(hugetlbfs__inode, TP_ARGS(inode), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) - __field(__u16, mode) + __field(u64, ino) __field(loff_t, size) + __field(blkcnt_t, blocks) + __field(dev_t, dev) __field(unsigned int, nlink) __field(unsigned int, seals) - __field(blkcnt_t, blocks) + __field(__u16, mode) ), TP_fast_assign( @@ -59,8 +59,8 @@ DECLARE_EVENT_CLASS(hugetlbfs__inode, __entry->blocks = inode->i_blocks; ), - TP_printk("dev %d,%d ino %lu mode 0%o size %lld nlink %u seals %u blocks %llu", - MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long) __entry->ino, + TP_printk("dev %d,%d ino %llu mode 0%o size %lld nlink %u seals %u blocks %llu", + MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->mode, __entry->size, __entry->nlink, __entry->seals, (unsigned long long)__entry->blocks) ); @@ -87,14 +87,14 @@ TRACE_EVENT(hugetlbfs_setattr, TP_ARGS(inode, dentry, attr), TP_STRUCT__entry( + __field(u64, ino) + __field(loff_t, old_size) + __field(loff_t, ia_size) __field(dev_t, dev) - __field(ino_t, ino) __field(unsigned int, d_len) __string(d_name, dentry->d_name.name) __field(unsigned int, ia_valid) __field(unsigned int, ia_mode) - __field(loff_t, old_size) - __field(loff_t, ia_size) ), TP_fast_assign( @@ -108,8 +108,8 @@ TRACE_EVENT(hugetlbfs_setattr, __entry->ia_size = attr->ia_size; ), - TP_printk("dev %d,%d ino %lu name %.*s valid %#x mode 0%o old_size %lld size %lld", - MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long)__entry->ino, + TP_printk("dev %d,%d ino %llu name %.*s valid %#x mode 0%o old_size %lld size %lld", + MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->d_len, __get_str(d_name), __entry->ia_valid, __entry->ia_mode, __entry->old_size, __entry->ia_size) ); @@ -122,12 +122,12 @@ TRACE_EVENT(hugetlbfs_fallocate, TP_ARGS(inode, mode, offset, len, ret), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) - __field(int, mode) + __field(u64, ino) __field(loff_t, offset) __field(loff_t, len) __field(loff_t, size) + __field(dev_t, dev) + __field(int, mode) __field(int, ret) ), @@ -141,9 +141,9 @@ TRACE_EVENT(hugetlbfs_fallocate, __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu mode 0%o offset %lld len %lld size %lld ret %d", + TP_printk("dev %d,%d ino %llu mode 0%o offset %lld len %lld size %lld ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long)__entry->ino, __entry->mode, + __entry->ino, __entry->mode, (unsigned long long)__entry->offset, (unsigned long long)__entry->len, (unsigned long long)__entry->size, diff --git a/include/trace/events/ipi.h b/include/trace/events/ipi.h index 9912f0ded81d..fae4f8eac411 100644 --- a/include/trace/events/ipi.h +++ b/include/trace/events/ipi.h @@ -68,16 +68,16 @@ TRACE_EVENT(ipi_raise, TP_ARGS(mask, reason), TP_STRUCT__entry( - __bitmask(target_cpus, nr_cpumask_bits) + __cpumask(target_cpus) __field(const char *, reason) ), TP_fast_assign( - __assign_bitmask(target_cpus, cpumask_bits(mask), nr_cpumask_bits); + __assign_cpumask(target_cpus, cpumask_bits(mask)); __entry->reason = reason; ), - TP_printk("target_mask=%s (%s)", __get_bitmask(target_cpus), __entry->reason) + TP_printk("target_mask=%s (%s)", __get_cpumask(target_cpus), __entry->reason) ); DECLARE_EVENT_CLASS(ipi_handler, diff --git a/include/trace/events/memcg.h b/include/trace/events/memcg.h index dfe2f51019b4..51b62c5931fc 100644 --- a/include/trace/events/memcg.h +++ b/include/trace/events/memcg.h @@ -11,14 +11,14 @@ DECLARE_EVENT_CLASS(memcg_rstat_stats, - TP_PROTO(struct mem_cgroup *memcg, int item, int val), + TP_PROTO(struct mem_cgroup *memcg, int item, long val), TP_ARGS(memcg, item, val), TP_STRUCT__entry( __field(u64, id) __field(int, item) - __field(int, val) + __field(long, val) ), TP_fast_assign( @@ -27,20 +27,20 @@ DECLARE_EVENT_CLASS(memcg_rstat_stats, __entry->val = val; ), - TP_printk("memcg_id=%llu item=%d val=%d", + TP_printk("memcg_id=%llu item=%d val=%ld", __entry->id, __entry->item, __entry->val) ); DEFINE_EVENT(memcg_rstat_stats, mod_memcg_state, - TP_PROTO(struct mem_cgroup *memcg, int item, int val), + TP_PROTO(struct mem_cgroup *memcg, int item, long val), TP_ARGS(memcg, item, val) ); DEFINE_EVENT(memcg_rstat_stats, mod_memcg_lruvec_state, - TP_PROTO(struct mem_cgroup *memcg, int item, int val), + TP_PROTO(struct mem_cgroup *memcg, int item, long val), TP_ARGS(memcg, item, val) ); diff --git a/include/trace/events/mptcp.h b/include/trace/events/mptcp.h index 269d949b2025..04521acba483 100644 --- a/include/trace/events/mptcp.h +++ b/include/trace/events/mptcp.h @@ -219,7 +219,7 @@ TRACE_EVENT(mptcp_rcvbuf_grow, __be32 *p32; __entry->time = time; - __entry->rtt_us = msk->rcvq_space.rtt_us >> 3; + __entry->rtt_us = mptcp_rtt_us_est(msk) >> 3; __entry->copied = msk->rcvq_space.copied; __entry->inq = mptcp_inq_hint(sk); __entry->space = msk->rcvq_space.space; diff --git a/include/trace/events/net.h b/include/trace/events/net.h index fdd9ad474ce3..dbc2c5598e35 100644 --- a/include/trace/events/net.h +++ b/include/trace/events/net.h @@ -10,6 +10,7 @@ #include <linux/if_vlan.h> #include <linux/ip.h> #include <linux/tracepoint.h> +#include <net/busy_poll.h> TRACE_EVENT(net_dev_start_xmit, @@ -208,7 +209,8 @@ DECLARE_EVENT_CLASS(net_dev_rx_verbose_template, TP_fast_assign( __assign_str(name); #ifdef CONFIG_NET_RX_BUSY_POLL - __entry->napi_id = skb->napi_id; + __entry->napi_id = napi_id_valid(skb->napi_id) ? + skb->napi_id : 0; #else __entry->napi_id = 0; #endif diff --git a/include/trace/events/netfs.h b/include/trace/events/netfs.h index 2d366be46a1c..8c936fc575d5 100644 --- a/include/trace/events/netfs.h +++ b/include/trace/events/netfs.h @@ -300,7 +300,7 @@ TRACE_EVENT(netfs_read, __field(loff_t, start) __field(size_t, len) __field(enum netfs_read_trace, what) - __field(unsigned int, netfs_inode) + __field(u64, netfs_inode) ), TP_fast_assign( @@ -313,7 +313,7 @@ TRACE_EVENT(netfs_read, __entry->netfs_inode = rreq->inode->i_ino; ), - TP_printk("R=%08x %s c=%08x ni=%x s=%llx l=%zx sz=%llx", + TP_printk("R=%08x %s c=%08x ni=%llx s=%llx l=%zx sz=%llx", __entry->rreq, __print_symbolic(__entry->what, netfs_read_traces), __entry->cookie, @@ -486,7 +486,7 @@ TRACE_EVENT(netfs_folio, TP_ARGS(folio, why), TP_STRUCT__entry( - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, index) __field(unsigned int, nr) __field(enum netfs_folio_trace, why) @@ -500,7 +500,7 @@ TRACE_EVENT(netfs_folio, __entry->nr = folio_nr_pages(folio); ), - TP_printk("i=%05lx ix=%05lx-%05lx %s", + TP_printk("i=%05llx ix=%05lx-%05lx %s", __entry->ino, __entry->index, __entry->index + __entry->nr - 1, __print_symbolic(__entry->why, netfs_folio_traces)) ); @@ -740,19 +740,19 @@ TRACE_EVENT(netfs_collect_stream, __field(unsigned int, wreq) __field(unsigned char, stream) __field(unsigned long long, collected_to) - __field(unsigned long long, front) + __field(unsigned long long, issued_to) ), TP_fast_assign( __entry->wreq = wreq->debug_id; __entry->stream = stream->stream_nr; __entry->collected_to = stream->collected_to; - __entry->front = stream->front ? stream->front->start : UINT_MAX; + __entry->issued_to = atomic64_read(&wreq->issued_to); ), - TP_printk("R=%08x[%x:] cto=%llx frn=%llx", + TP_printk("R=%08x[%x:] cto=%llx ito=%llx", __entry->wreq, __entry->stream, - __entry->collected_to, __entry->front) + __entry->collected_to, __entry->issued_to) ); TRACE_EVENT(netfs_folioq, diff --git a/include/trace/events/nilfs2.h b/include/trace/events/nilfs2.h index 8880c11733dd..49efbd209585 100644 --- a/include/trace/events/nilfs2.h +++ b/include/trace/events/nilfs2.h @@ -165,14 +165,14 @@ TRACE_EVENT(nilfs2_segment_usage_freed, TRACE_EVENT(nilfs2_mdt_insert_new_block, TP_PROTO(struct inode *inode, - unsigned long ino, + u64 ino, unsigned long block), TP_ARGS(inode, ino, block), TP_STRUCT__entry( + __field(u64, ino) __field(struct inode *, inode) - __field(unsigned long, ino) __field(unsigned long, block) ), @@ -182,7 +182,7 @@ TRACE_EVENT(nilfs2_mdt_insert_new_block, __entry->block = block; ), - TP_printk("inode = %p ino = %lu block = %lu", + TP_printk("inode = %p ino = %llu block = %lu", __entry->inode, __entry->ino, __entry->block) @@ -190,15 +190,15 @@ TRACE_EVENT(nilfs2_mdt_insert_new_block, TRACE_EVENT(nilfs2_mdt_submit_block, TP_PROTO(struct inode *inode, - unsigned long ino, + u64 ino, unsigned long blkoff, enum req_op mode), TP_ARGS(inode, ino, blkoff, mode), TP_STRUCT__entry( + __field(u64, ino) __field(struct inode *, inode) - __field(unsigned long, ino) __field(unsigned long, blkoff) /* * Use field_struct() to avoid is_signed_type() on the @@ -214,7 +214,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block, __entry->mode = mode; ), - TP_printk("inode = %p ino = %lu blkoff = %lu mode = %x", + TP_printk("inode = %p ino = %llu blkoff = %lu mode = %x", __entry->inode, __entry->ino, __entry->blkoff, diff --git a/include/trace/events/pci_controller.h b/include/trace/events/pci_controller.h new file mode 100644 index 000000000000..a4b387cf52a6 --- /dev/null +++ b/include/trace/events/pci_controller.h @@ -0,0 +1,58 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM pci_controller + +#if !defined(_TRACE_HW_EVENT_PCI_CONTROLLER_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_HW_EVENT_PCI_CONTROLLER_H + +#include <uapi/linux/pci_regs.h> +#include <linux/tracepoint.h> + +#define RATE \ + EM(PCIE_SPEED_2_5GT, "2.5 GT/s") \ + EM(PCIE_SPEED_5_0GT, "5.0 GT/s") \ + EM(PCIE_SPEED_8_0GT, "8.0 GT/s") \ + EM(PCIE_SPEED_16_0GT, "16.0 GT/s") \ + EM(PCIE_SPEED_32_0GT, "32.0 GT/s") \ + EM(PCIE_SPEED_64_0GT, "64.0 GT/s") \ + EMe(PCI_SPEED_UNKNOWN, "Unknown") + + +#undef EM +#undef EMe +#define EM(a, b) TRACE_DEFINE_ENUM(a); +#define EMe(a, b) TRACE_DEFINE_ENUM(a); + +RATE + +#undef EM +#undef EMe +#define EM(a, b) {a, b}, +#define EMe(a, b) {a, b} + +TRACE_EVENT(pcie_ltssm_state_transition, + TP_PROTO(const char *dev_name, const char *state, u32 rate), + TP_ARGS(dev_name, state, rate), + + TP_STRUCT__entry( + __string(dev_name, dev_name) + __string(state, state) + __field(u32, rate) + ), + + TP_fast_assign( + __assign_str(dev_name); + __assign_str(state); + __entry->rate = rate; + ), + + TP_printk("dev: %s state: %s rate: %s", + __get_str(dev_name), __get_str(state), + __print_symbolic(__entry->rate, RATE) + ) +); + +#endif /* _TRACE_HW_EVENT_PCI_CONTROLLER_H */ + +/* This part must be outside protection */ +#include <trace/define_trace.h> diff --git a/include/trace/events/qdisc.h b/include/trace/events/qdisc.h index ff33f41a9db7..d8a5c2677470 100644 --- a/include/trace/events/qdisc.h +++ b/include/trace/events/qdisc.h @@ -74,6 +74,57 @@ TRACE_EVENT(qdisc_enqueue, __entry->ifindex, __entry->handle, __entry->parent, __entry->skbaddr) ); +#undef FN +#undef FNe +#define FN(reason) TRACE_DEFINE_ENUM(QDISC_DROP_##reason); +#define FNe(reason) TRACE_DEFINE_ENUM(QDISC_DROP_##reason); +DEFINE_QDISC_DROP_REASON(FN, FNe) + +#undef FN +#undef FNe +#define FN(reason) { QDISC_DROP_##reason, #reason }, +#define FNe(reason) { QDISC_DROP_##reason, #reason } + +TRACE_EVENT(qdisc_drop, + + TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq, + struct net_device *dev, struct sk_buff *skb, + enum qdisc_drop_reason reason), + + TP_ARGS(qdisc, txq, dev, skb, reason), + + TP_STRUCT__entry( + __field(struct Qdisc *, qdisc) + __field(const struct netdev_queue *, txq) + __field(void *, skbaddr) + __field(int, ifindex) + __field(u32, handle) + __field(u32, parent) + __field(enum qdisc_drop_reason, reason) + __string(kind, qdisc->ops->id) + ), + + TP_fast_assign( + __entry->qdisc = qdisc; + __entry->txq = txq; + __entry->skbaddr = skb; + __entry->ifindex = dev ? dev->ifindex : 0; + __entry->handle = qdisc->handle; + __entry->parent = qdisc->parent; + __entry->reason = reason; + __assign_str(kind); + ), + + TP_printk("drop ifindex=%d kind=%s handle=0x%X parent=0x%X skbaddr=%p reason=%s", + __entry->ifindex, __get_str(kind), __entry->handle, + __entry->parent, __entry->skbaddr, + __print_symbolic(__entry->reason, + DEFINE_QDISC_DROP_REASON(FN, FNe))) +); + +#undef FN +#undef FNe + TRACE_EVENT(qdisc_reset, TP_PROTO(struct Qdisc *q), diff --git a/include/trace/events/readahead.h b/include/trace/events/readahead.h index 0997ac5eceab..087f171e2b02 100644 --- a/include/trace/events/readahead.h +++ b/include/trace/events/readahead.h @@ -18,7 +18,7 @@ TRACE_EVENT(page_cache_ra_unbounded, TP_ARGS(inode, index, nr_to_read, lookahead_size), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) __field(dev_t, s_dev) __field(pgoff_t, index) __field(unsigned long, nr_to_read) @@ -34,7 +34,7 @@ TRACE_EVENT(page_cache_ra_unbounded, ), TP_printk( - "dev=%d:%d ino=%lx index=%lu nr_to_read=%lu lookahead_size=%lu", + "dev=%d:%d ino=%llx index=%lu nr_to_read=%lu lookahead_size=%lu", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->index, __entry->nr_to_read, __entry->lookahead_size ) @@ -46,7 +46,7 @@ TRACE_EVENT(page_cache_ra_order, TP_ARGS(inode, index, ra), TP_STRUCT__entry( - __field(unsigned long, i_ino) + __field(u64, i_ino) __field(dev_t, s_dev) __field(pgoff_t, index) __field(unsigned int, order) @@ -66,7 +66,7 @@ TRACE_EVENT(page_cache_ra_order, ), TP_printk( - "dev=%d:%d ino=%lx index=%lu order=%u size=%u async_size=%u ra_pages=%u", + "dev=%d:%d ino=%llx index=%lu order=%u size=%u async_size=%u ra_pages=%u", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->index, __entry->order, __entry->size, __entry->async_size, __entry->ra_pages @@ -80,16 +80,16 @@ DECLARE_EVENT_CLASS(page_cache_ra_op, TP_ARGS(inode, index, ra, req_count), TP_STRUCT__entry( - __field(unsigned long, i_ino) - __field(dev_t, s_dev) + __field(u64, i_ino) + __field(loff_t, prev_pos) __field(pgoff_t, index) + __field(unsigned long, req_count) + __field(dev_t, s_dev) __field(unsigned int, order) __field(unsigned int, size) __field(unsigned int, async_size) __field(unsigned int, ra_pages) __field(unsigned int, mmap_miss) - __field(loff_t, prev_pos) - __field(unsigned long, req_count) ), TP_fast_assign( @@ -106,7 +106,7 @@ DECLARE_EVENT_CLASS(page_cache_ra_op, ), TP_printk( - "dev=%d:%d ino=%lx index=%lu req_count=%lu order=%u size=%u async_size=%u ra_pages=%u mmap_miss=%u prev_pos=%lld", + "dev=%d:%d ino=%llx index=%lu req_count=%lu order=%u size=%u async_size=%u ra_pages=%u mmap_miss=%u prev_pos=%lld", MAJOR(__entry->s_dev), MINOR(__entry->s_dev), __entry->i_ino, __entry->index, __entry->req_count, __entry->order, __entry->size, __entry->async_size, __entry->ra_pages, diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h index e6a72646c507..b79913048e1a 100644 --- a/include/trace/events/rpcrdma.h +++ b/include/trace/events/rpcrdma.h @@ -392,10 +392,10 @@ DECLARE_EVENT_CLASS(xprtrdma_rdch_event, const struct rpc_task *task, unsigned int pos, struct rpcrdma_mr *mr, - int nsegs + bool is_last ), - TP_ARGS(task, pos, mr, nsegs), + TP_ARGS(task, pos, mr, is_last), TP_STRUCT__entry( __field(unsigned int, task_id) @@ -405,7 +405,7 @@ DECLARE_EVENT_CLASS(xprtrdma_rdch_event, __field(u32, handle) __field(u32, length) __field(u64, offset) - __field(int, nsegs) + __field(bool, is_last) ), TP_fast_assign( @@ -416,7 +416,7 @@ DECLARE_EVENT_CLASS(xprtrdma_rdch_event, __entry->handle = mr->mr_handle; __entry->length = mr->mr_length; __entry->offset = mr->mr_offset; - __entry->nsegs = nsegs; + __entry->is_last = is_last; ), TP_printk(SUNRPC_TRACE_TASK_SPECIFIER @@ -424,7 +424,7 @@ DECLARE_EVENT_CLASS(xprtrdma_rdch_event, __entry->task_id, __entry->client_id, __entry->pos, __entry->length, (unsigned long long)__entry->offset, __entry->handle, - __entry->nents < __entry->nsegs ? "more" : "last" + __entry->is_last ? "last" : "more" ) ); @@ -434,18 +434,18 @@ DECLARE_EVENT_CLASS(xprtrdma_rdch_event, const struct rpc_task *task, \ unsigned int pos, \ struct rpcrdma_mr *mr, \ - int nsegs \ + bool is_last \ ), \ - TP_ARGS(task, pos, mr, nsegs)) + TP_ARGS(task, pos, mr, is_last)) DECLARE_EVENT_CLASS(xprtrdma_wrch_event, TP_PROTO( const struct rpc_task *task, struct rpcrdma_mr *mr, - int nsegs + bool is_last ), - TP_ARGS(task, mr, nsegs), + TP_ARGS(task, mr, is_last), TP_STRUCT__entry( __field(unsigned int, task_id) @@ -454,7 +454,7 @@ DECLARE_EVENT_CLASS(xprtrdma_wrch_event, __field(u32, handle) __field(u32, length) __field(u64, offset) - __field(int, nsegs) + __field(bool, is_last) ), TP_fast_assign( @@ -464,7 +464,7 @@ DECLARE_EVENT_CLASS(xprtrdma_wrch_event, __entry->handle = mr->mr_handle; __entry->length = mr->mr_length; __entry->offset = mr->mr_offset; - __entry->nsegs = nsegs; + __entry->is_last = is_last; ), TP_printk(SUNRPC_TRACE_TASK_SPECIFIER @@ -472,7 +472,7 @@ DECLARE_EVENT_CLASS(xprtrdma_wrch_event, __entry->task_id, __entry->client_id, __entry->length, (unsigned long long)__entry->offset, __entry->handle, - __entry->nents < __entry->nsegs ? "more" : "last" + __entry->is_last ? "last" : "more" ) ); @@ -481,9 +481,9 @@ DECLARE_EVENT_CLASS(xprtrdma_wrch_event, TP_PROTO( \ const struct rpc_task *task, \ struct rpcrdma_mr *mr, \ - int nsegs \ + bool is_last \ ), \ - TP_ARGS(task, mr, nsegs)) + TP_ARGS(task, mr, is_last)) TRACE_DEFINE_ENUM(DMA_BIDIRECTIONAL); TRACE_DEFINE_ENUM(DMA_TO_DEVICE); diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h index 869f97c9bf73..573f2df3a2c9 100644 --- a/include/trace/events/rxrpc.h +++ b/include/trace/events/rxrpc.h @@ -37,6 +37,7 @@ EM(rxkad_abort_1_short_encdata, "rxkad1-short-encdata") \ EM(rxkad_abort_1_short_header, "rxkad1-short-hdr") \ EM(rxkad_abort_2_short_check, "rxkad2-short-check") \ + EM(rxkad_abort_2_crypto_unaligned, "rxkad2-crypto-unaligned") \ EM(rxkad_abort_2_short_data, "rxkad2-short-data") \ EM(rxkad_abort_2_short_header, "rxkad2-short-hdr") \ EM(rxkad_abort_2_short_len, "rxkad2-short-len") \ @@ -161,8 +162,6 @@ E_(rxrpc_call_poke_timer_now, "Timer-now") #define rxrpc_skb_traces \ - EM(rxrpc_skb_eaten_by_unshare, "ETN unshare ") \ - EM(rxrpc_skb_eaten_by_unshare_nomem, "ETN unshar-nm") \ EM(rxrpc_skb_get_call_rx, "GET call-rx ") \ EM(rxrpc_skb_get_conn_secured, "GET conn-secd") \ EM(rxrpc_skb_get_conn_work, "GET conn-work") \ @@ -185,9 +184,11 @@ EM(rxrpc_skb_put_input, "PUT input ") \ EM(rxrpc_skb_put_jumbo_subpacket, "PUT jumbo-sub") \ EM(rxrpc_skb_put_oob, "PUT oob ") \ + EM(rxrpc_skb_put_old_response, "PUT old-resp ") \ EM(rxrpc_skb_put_purge, "PUT purge ") \ EM(rxrpc_skb_put_purge_oob, "PUT purge-oob") \ EM(rxrpc_skb_put_response, "PUT response ") \ + EM(rxrpc_skb_put_response_copy, "PUT resp-cpy ") \ EM(rxrpc_skb_put_rotate, "PUT rotate ") \ EM(rxrpc_skb_put_unknown, "PUT unknown ") \ EM(rxrpc_skb_see_conn_work, "SEE conn-work") \ @@ -196,6 +197,7 @@ EM(rxrpc_skb_see_recvmsg_oob, "SEE recvm-oob") \ EM(rxrpc_skb_see_reject, "SEE reject ") \ EM(rxrpc_skb_see_rotate, "SEE rotate ") \ + EM(rxrpc_skb_see_unshare_nomem, "SEE unshar-nm") \ E_(rxrpc_skb_see_version, "SEE version ") #define rxrpc_local_traces \ @@ -283,7 +285,6 @@ EM(rxrpc_conn_put_unidle, "PUT unidle ") \ EM(rxrpc_conn_put_work, "PUT work ") \ EM(rxrpc_conn_queue_challenge, "QUE chall ") \ - EM(rxrpc_conn_queue_retry_work, "QUE retry-wk") \ EM(rxrpc_conn_queue_rx_work, "QUE rx-work ") \ EM(rxrpc_conn_see_new_service_conn, "SEE new-svc ") \ EM(rxrpc_conn_see_reap_service, "SEE reap-svc") \ @@ -347,7 +348,7 @@ EM(rxrpc_call_see_release, "SEE release ") \ EM(rxrpc_call_see_userid_exists, "SEE u-exists") \ EM(rxrpc_call_see_waiting_call, "SEE q-conn ") \ - E_(rxrpc_call_see_zap, "SEE zap ") + E_(rxrpc_call_see_still_live, "SEE !still-l") #define rxrpc_txqueue_traces \ EM(rxrpc_txqueue_await_reply, "AWR") \ @@ -520,6 +521,7 @@ #define rxrpc_req_ack_traces \ EM(rxrpc_reqack_ack_lost, "ACK-LOST ") \ EM(rxrpc_reqack_app_stall, "APP-STALL ") \ + EM(rxrpc_reqack_jumbo_win, "JUMBO-WIN ") \ EM(rxrpc_reqack_more_rtt, "MORE-RTT ") \ EM(rxrpc_reqack_no_srv_last, "NO-SRVLAST") \ EM(rxrpc_reqack_old_rtt, "OLD-RTT ") \ diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index 7b2645b50e78..535860581f15 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -896,6 +896,32 @@ DECLARE_TRACE(sched_set_need_resched, TP_PROTO(struct task_struct *tsk, int cpu, int tif), TP_ARGS(tsk, cpu, tif)); +#define DL_OTHER 0 +#define DL_TASK 1 +#define DL_SERVER_FAIR 2 +#define DL_SERVER_EXT 3 + +DECLARE_TRACE(sched_dl_throttle, + TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type), + TP_ARGS(dl_se, cpu, type)); + +DECLARE_TRACE(sched_dl_replenish, + TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type), + TP_ARGS(dl_se, cpu, type)); + +/* Call to update_curr_dl_se not involving throttle or replenish */ +DECLARE_TRACE(sched_dl_update, + TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type), + TP_ARGS(dl_se, cpu, type)); + +DECLARE_TRACE(sched_dl_server_start, + TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type), + TP_ARGS(dl_se, cpu, type)); + +DECLARE_TRACE(sched_dl_server_stop, + TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type), + TP_ARGS(dl_se, cpu, type)); + #endif /* _TRACE_SCHED_H */ /* This part must be outside protection */ diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index 750ecce56930..ff855197880d 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h @@ -1933,7 +1933,9 @@ TRACE_EVENT(svc_stats_latency, svc_xprt_flag(CONG_CTRL) \ svc_xprt_flag(HANDSHAKE) \ svc_xprt_flag(TLS_SESSION) \ - svc_xprt_flag_end(PEER_AUTH) + svc_xprt_flag(PEER_AUTH) \ + svc_xprt_flag(PEER_VALID) \ + svc_xprt_flag_end(RPCB_UNREG) #undef svc_xprt_flag #undef svc_xprt_flag_end diff --git a/include/trace/events/timer.h b/include/trace/events/timer.h index 1641ae3e6ca0..07cbb9836b91 100644 --- a/include/trace/events/timer.h +++ b/include/trace/events/timer.h @@ -218,12 +218,13 @@ TRACE_EVENT(hrtimer_setup, * hrtimer_start - called when the hrtimer is started * @hrtimer: pointer to struct hrtimer * @mode: the hrtimers mode + * @was_armed: Was armed when hrtimer_start*() was invoked */ TRACE_EVENT(hrtimer_start, - TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode), + TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode, bool was_armed), - TP_ARGS(hrtimer, mode), + TP_ARGS(hrtimer, mode, was_armed), TP_STRUCT__entry( __field( void *, hrtimer ) @@ -231,6 +232,7 @@ TRACE_EVENT(hrtimer_start, __field( s64, expires ) __field( s64, softexpires ) __field( enum hrtimer_mode, mode ) + __field( bool, was_armed ) ), TP_fast_assign( @@ -239,26 +241,26 @@ TRACE_EVENT(hrtimer_start, __entry->expires = hrtimer_get_expires(hrtimer); __entry->softexpires = hrtimer_get_softexpires(hrtimer); __entry->mode = mode; + __entry->was_armed = was_armed; ), TP_printk("hrtimer=%p function=%ps expires=%llu softexpires=%llu " - "mode=%s", __entry->hrtimer, __entry->function, + "mode=%s was_armed=%d", __entry->hrtimer, __entry->function, (unsigned long long) __entry->expires, (unsigned long long) __entry->softexpires, - decode_hrtimer_mode(__entry->mode)) + decode_hrtimer_mode(__entry->mode), __entry->was_armed) ); /** * hrtimer_expire_entry - called immediately before the hrtimer callback * @hrtimer: pointer to struct hrtimer - * @now: pointer to variable which contains current time of the - * timers base. + * @now: variable which contains current time of the timers base. * * Allows to determine the timer latency. */ TRACE_EVENT(hrtimer_expire_entry, - TP_PROTO(struct hrtimer *hrtimer, ktime_t *now), + TP_PROTO(struct hrtimer *hrtimer, ktime_t now), TP_ARGS(hrtimer, now), @@ -270,7 +272,7 @@ TRACE_EVENT(hrtimer_expire_entry, TP_fast_assign( __entry->hrtimer = hrtimer; - __entry->now = *now; + __entry->now = now; __entry->function = ACCESS_PRIVATE(hrtimer, function); ), @@ -322,6 +324,30 @@ DEFINE_EVENT(hrtimer_class, hrtimer_cancel, ); /** + * hrtimer_rearm - Invoked when the clockevent device is rearmed + * @next_event: The next expiry time (CLOCK_MONOTONIC) + */ +TRACE_EVENT(hrtimer_rearm, + + TP_PROTO(ktime_t next_event, bool deferred), + + TP_ARGS(next_event, deferred), + + TP_STRUCT__entry( + __field( s64, next_event ) + __field( bool, deferred ) + ), + + TP_fast_assign( + __entry->next_event = next_event; + __entry->deferred = deferred; + ), + + TP_printk("next_event=%llu deferred=%d", + (unsigned long long) __entry->next_event, __entry->deferred) +); + +/** * itimer_state - called when itimer is started or canceled * @which: name of the interval timer * @value: the itimers value, itimer is canceled if value->it_value is diff --git a/include/trace/events/timestamp.h b/include/trace/events/timestamp.h index c9e5ec930054..d6503612dddf 100644 --- a/include/trace/events/timestamp.h +++ b/include/trace/events/timestamp.h @@ -18,9 +18,9 @@ DECLARE_EVENT_CLASS(ctime, TP_ARGS(inode, ctime), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(time64_t, ctime_s) + __field(dev_t, dev) __field(u32, ctime_ns) __field(u32, gen) ), @@ -33,7 +33,7 @@ DECLARE_EVENT_CLASS(ctime, __entry->ctime_ns = ctime->tv_nsec; ), - TP_printk("ino=%d:%d:%ld:%u ctime=%lld.%u", + TP_printk("ino=%d:%d:%llu:%u ctime=%lld.%u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->gen, __entry->ctime_s, __entry->ctime_ns ) @@ -58,8 +58,8 @@ TRACE_EVENT(ctime_ns_xchg, TP_ARGS(inode, old, new, cur), TP_STRUCT__entry( + __field(u64, ino) __field(dev_t, dev) - __field(ino_t, ino) __field(u32, gen) __field(u32, old) __field(u32, new) @@ -75,7 +75,7 @@ TRACE_EVENT(ctime_ns_xchg, __entry->cur = cur; ), - TP_printk("ino=%d:%d:%ld:%u old=%u:%s new=%u cur=%u:%s", + TP_printk("ino=%d:%d:%llu:%u old=%u:%s new=%u cur=%u:%s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->gen, __entry->old & ~I_CTIME_QUERIED, __print_flags(__entry->old & I_CTIME_QUERIED, "|", CTIME_QUERIED_FLAGS), @@ -93,10 +93,10 @@ TRACE_EVENT(fill_mg_cmtime, TP_ARGS(inode, ctime, mtime), TP_STRUCT__entry( - __field(dev_t, dev) - __field(ino_t, ino) + __field(u64, ino) __field(time64_t, ctime_s) __field(time64_t, mtime_s) + __field(dev_t, dev) __field(u32, ctime_ns) __field(u32, mtime_ns) __field(u32, gen) @@ -112,7 +112,7 @@ TRACE_EVENT(fill_mg_cmtime, __entry->mtime_ns = mtime->tv_nsec; ), - TP_printk("ino=%d:%d:%ld:%u ctime=%lld.%u mtime=%lld.%u", + TP_printk("ino=%d:%d:%llu:%u ctime=%lld.%u mtime=%lld.%u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->gen, __entry->ctime_s, __entry->ctime_ns, __entry->mtime_s, __entry->mtime_ns diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index ea58e4656abf..4445a8d9218d 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h @@ -124,85 +124,96 @@ TRACE_EVENT(mm_vmscan_wakeup_kswapd, DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags, int order, struct mem_cgroup *memcg), - TP_ARGS(order, gfp_flags), + TP_ARGS(gfp_flags, order, memcg), TP_STRUCT__entry( - __field( int, order ) __field( unsigned long, gfp_flags ) + __field( u64, memcg_id ) + __field( int, order ) ), TP_fast_assign( - __entry->order = order; __entry->gfp_flags = (__force unsigned long)gfp_flags; + __entry->order = order; + __entry->memcg_id = mem_cgroup_id(memcg); ), - TP_printk("order=%d gfp_flags=%s", + TP_printk("order=%d gfp_flags=%s pid=%d memcg_id=%llu %s", __entry->order, - show_gfp_flags(__entry->gfp_flags)) + show_gfp_flags(__entry->gfp_flags), + __entry->ent.pid, + __entry->memcg_id, + __event_in_irq() ? "(in-irq)" : "") ); DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags, int order, struct mem_cgroup *memcg), - TP_ARGS(order, gfp_flags) + TP_ARGS(gfp_flags, order, memcg) ); #ifdef CONFIG_MEMCG DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags, int order, struct mem_cgroup *memcg), - TP_ARGS(order, gfp_flags) + TP_ARGS(gfp_flags, order, memcg) ); DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags, int order, struct mem_cgroup *memcg), - TP_ARGS(order, gfp_flags) + TP_ARGS(gfp_flags, order, memcg) ); #endif /* CONFIG_MEMCG */ DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_end_template, - TP_PROTO(unsigned long nr_reclaimed), + TP_PROTO(unsigned long nr_reclaimed, struct mem_cgroup *memcg), - TP_ARGS(nr_reclaimed), + TP_ARGS(nr_reclaimed, memcg), TP_STRUCT__entry( __field( unsigned long, nr_reclaimed ) + __field( u64, memcg_id ) ), TP_fast_assign( __entry->nr_reclaimed = nr_reclaimed; + __entry->memcg_id = mem_cgroup_id(memcg); ), - TP_printk("nr_reclaimed=%lu", __entry->nr_reclaimed) + TP_printk("nr_reclaimed=%lu pid=%d memcg_id=%llu %s", + __entry->nr_reclaimed, + __entry->ent.pid, + __entry->memcg_id, + __event_in_irq() ? "(in-irq)" : "") ); DEFINE_EVENT(mm_vmscan_direct_reclaim_end_template, mm_vmscan_direct_reclaim_end, - TP_PROTO(unsigned long nr_reclaimed), + TP_PROTO(unsigned long nr_reclaimed, struct mem_cgroup *memcg), - TP_ARGS(nr_reclaimed) + TP_ARGS(nr_reclaimed, memcg) ); #ifdef CONFIG_MEMCG DEFINE_EVENT(mm_vmscan_direct_reclaim_end_template, mm_vmscan_memcg_reclaim_end, - TP_PROTO(unsigned long nr_reclaimed), + TP_PROTO(unsigned long nr_reclaimed, struct mem_cgroup *memcg), - TP_ARGS(nr_reclaimed) + TP_ARGS(nr_reclaimed, memcg) ); DEFINE_EVENT(mm_vmscan_direct_reclaim_end_template, mm_vmscan_memcg_softlimit_reclaim_end, - TP_PROTO(unsigned long nr_reclaimed), + TP_PROTO(unsigned long nr_reclaimed, struct mem_cgroup *memcg), - TP_ARGS(nr_reclaimed) + TP_ARGS(nr_reclaimed, memcg) ); #endif /* CONFIG_MEMCG */ @@ -210,82 +221,92 @@ TRACE_EVENT(mm_shrink_slab_start, TP_PROTO(struct shrinker *shr, struct shrink_control *sc, long nr_objects_to_shrink, unsigned long cache_items, unsigned long long delta, unsigned long total_scan, - int priority), + int priority, struct mem_cgroup *memcg), TP_ARGS(shr, sc, nr_objects_to_shrink, cache_items, delta, total_scan, - priority), + priority, memcg), TP_STRUCT__entry( __field(struct shrinker *, shr) __field(void *, shrink) - __field(int, nid) __field(long, nr_objects_to_shrink) __field(unsigned long, gfp_flags) __field(unsigned long, cache_items) __field(unsigned long long, delta) __field(unsigned long, total_scan) __field(int, priority) + __field(int, nid) + __field(u64, memcg_id) ), TP_fast_assign( __entry->shr = shr; __entry->shrink = shr->scan_objects; - __entry->nid = sc->nid; __entry->nr_objects_to_shrink = nr_objects_to_shrink; __entry->gfp_flags = (__force unsigned long)sc->gfp_mask; __entry->cache_items = cache_items; __entry->delta = delta; __entry->total_scan = total_scan; __entry->priority = priority; + __entry->nid = sc->nid; + __entry->memcg_id = mem_cgroup_id(memcg); ), - TP_printk("%pS %p: nid: %d objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d", + TP_printk("%pS %p: nid: %d pid: %d memcg_id: %llu objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d %s", __entry->shrink, __entry->shr, __entry->nid, + __entry->ent.pid, + __entry->memcg_id, __entry->nr_objects_to_shrink, show_gfp_flags(__entry->gfp_flags), __entry->cache_items, __entry->delta, __entry->total_scan, - __entry->priority) + __entry->priority, + __event_in_irq() ? "(in-irq)" : "") ); TRACE_EVENT(mm_shrink_slab_end, TP_PROTO(struct shrinker *shr, int nid, int shrinker_retval, - long unused_scan_cnt, long new_scan_cnt, long total_scan), + long unused_scan_cnt, long new_scan_cnt, long total_scan, struct mem_cgroup *memcg), TP_ARGS(shr, nid, shrinker_retval, unused_scan_cnt, new_scan_cnt, - total_scan), + total_scan, memcg), TP_STRUCT__entry( __field(struct shrinker *, shr) - __field(int, nid) __field(void *, shrink) __field(long, unused_scan) __field(long, new_scan) - __field(int, retval) __field(long, total_scan) + __field(int, nid) + __field(int, retval) + __field(u64, memcg_id) ), TP_fast_assign( __entry->shr = shr; - __entry->nid = nid; __entry->shrink = shr->scan_objects; __entry->unused_scan = unused_scan_cnt; __entry->new_scan = new_scan_cnt; - __entry->retval = shrinker_retval; __entry->total_scan = total_scan; + __entry->nid = nid; + __entry->retval = shrinker_retval; + __entry->memcg_id = mem_cgroup_id(memcg); ), - TP_printk("%pS %p: nid: %d unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d", + TP_printk("%pS %p: nid: %d pid: %d memcg_id: %llu unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d %s", __entry->shrink, __entry->shr, __entry->nid, + __entry->ent.pid, + __entry->memcg_id, __entry->unused_scan, __entry->new_scan, __entry->total_scan, - __entry->retval) + __entry->retval, + __event_in_irq() ? "(in-irq)" : "") ); TRACE_EVENT(mm_vmscan_lru_isolate, @@ -514,9 +535,9 @@ TRACE_EVENT(mm_vmscan_node_reclaim_begin, DEFINE_EVENT(mm_vmscan_direct_reclaim_end_template, mm_vmscan_node_reclaim_end, - TP_PROTO(unsigned long nr_reclaimed), + TP_PROTO(unsigned long nr_reclaimed, struct mem_cgroup *memcg), - TP_ARGS(nr_reclaimed) + TP_ARGS(nr_reclaimed, memcg) ); TRACE_EVENT(mm_vmscan_throttled, diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index 4d3d8c8f3a1b..bdac0d685a98 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h @@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(writeback_folio_template, TP_STRUCT__entry ( __array(char, name, 32) - __field(ino_t, ino) + __field(u64, ino) __field(pgoff_t, index) ), @@ -79,9 +79,9 @@ DECLARE_EVENT_CLASS(writeback_folio_template, __entry->index = folio->index; ), - TP_printk("bdi %s: ino=%lu index=%lu", + TP_printk("bdi %s: ino=%llu index=%lu", __entry->name, - (unsigned long)__entry->ino, + __entry->ino, __entry->index ) ); @@ -108,7 +108,7 @@ DECLARE_EVENT_CLASS(writeback_dirty_inode_template, TP_STRUCT__entry ( __array(char, name, 32) - __field(ino_t, ino) + __field(u64, ino) __field(unsigned long, state) __field(unsigned long, flags) ), @@ -123,9 +123,9 @@ DECLARE_EVENT_CLASS(writeback_dirty_inode_template, __entry->flags = flags; ), - TP_printk("bdi %s: ino=%lu state=%s flags=%s", + TP_printk("bdi %s: ino=%llu state=%s flags=%s", __entry->name, - (unsigned long)__entry->ino, + __entry->ino, show_inode_state(__entry->state), show_inode_state(__entry->flags) ) @@ -155,12 +155,12 @@ DEFINE_EVENT(writeback_dirty_inode_template, writeback_dirty_inode, #ifdef CREATE_TRACE_POINTS #ifdef CONFIG_CGROUP_WRITEBACK -static inline ino_t __trace_wb_assign_cgroup(struct bdi_writeback *wb) +static inline u64 __trace_wb_assign_cgroup(struct bdi_writeback *wb) { return cgroup_ino(wb->memcg_css->cgroup); } -static inline ino_t __trace_wbc_assign_cgroup(struct writeback_control *wbc) +static inline u64 __trace_wbc_assign_cgroup(struct writeback_control *wbc) { if (wbc->wb) return __trace_wb_assign_cgroup(wbc->wb); @@ -169,12 +169,12 @@ static inline ino_t __trace_wbc_assign_cgroup(struct writeback_control *wbc) } #else /* CONFIG_CGROUP_WRITEBACK */ -static inline ino_t __trace_wb_assign_cgroup(struct bdi_writeback *wb) +static inline u64 __trace_wb_assign_cgroup(struct bdi_writeback *wb) { return 1; } -static inline ino_t __trace_wbc_assign_cgroup(struct writeback_control *wbc) +static inline u64 __trace_wbc_assign_cgroup(struct writeback_control *wbc) { return 1; } @@ -192,8 +192,8 @@ TRACE_EVENT(inode_foreign_history, TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, ino) - __field(ino_t, cgroup_ino) + __field(u64, ino) + __field(u64, cgroup_ino) __field(unsigned int, history) ), @@ -204,10 +204,10 @@ TRACE_EVENT(inode_foreign_history, __entry->history = history; ), - TP_printk("bdi %s: ino=%lu cgroup_ino=%lu history=0x%x", + TP_printk("bdi %s: ino=%llu cgroup_ino=%llu history=0x%x", __entry->name, - (unsigned long)__entry->ino, - (unsigned long)__entry->cgroup_ino, + __entry->ino, + __entry->cgroup_ino, __entry->history ) ); @@ -221,8 +221,8 @@ TRACE_EVENT(inode_switch_wbs_queue, TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, old_cgroup_ino) - __field(ino_t, new_cgroup_ino) + __field(u64, old_cgroup_ino) + __field(u64, new_cgroup_ino) __field(unsigned int, count) ), @@ -233,10 +233,10 @@ TRACE_EVENT(inode_switch_wbs_queue, __entry->count = count; ), - TP_printk("bdi %s: old_cgroup_ino=%lu new_cgroup_ino=%lu count=%u", + TP_printk("bdi %s: old_cgroup_ino=%llu new_cgroup_ino=%llu count=%u", __entry->name, - (unsigned long)__entry->old_cgroup_ino, - (unsigned long)__entry->new_cgroup_ino, + __entry->old_cgroup_ino, + __entry->new_cgroup_ino, __entry->count ) ); @@ -250,9 +250,9 @@ TRACE_EVENT(inode_switch_wbs, TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, ino) - __field(ino_t, old_cgroup_ino) - __field(ino_t, new_cgroup_ino) + __field(u64, ino) + __field(u64, old_cgroup_ino) + __field(u64, new_cgroup_ino) ), TP_fast_assign( @@ -262,11 +262,11 @@ TRACE_EVENT(inode_switch_wbs, __entry->new_cgroup_ino = __trace_wb_assign_cgroup(new_wb); ), - TP_printk("bdi %s: ino=%lu old_cgroup_ino=%lu new_cgroup_ino=%lu", + TP_printk("bdi %s: ino=%llu old_cgroup_ino=%llu new_cgroup_ino=%llu", __entry->name, - (unsigned long)__entry->ino, - (unsigned long)__entry->old_cgroup_ino, - (unsigned long)__entry->new_cgroup_ino + __entry->ino, + __entry->old_cgroup_ino, + __entry->new_cgroup_ino ) ); @@ -279,10 +279,10 @@ TRACE_EVENT(track_foreign_dirty, TP_STRUCT__entry( __array(char, name, 32) __field(u64, bdi_id) - __field(ino_t, ino) + __field(u64, ino) + __field(u64, cgroup_ino) + __field(u64, page_cgroup_ino) __field(unsigned int, memcg_id) - __field(ino_t, cgroup_ino) - __field(ino_t, page_cgroup_ino) ), TP_fast_assign( @@ -294,16 +294,19 @@ TRACE_EVENT(track_foreign_dirty, __entry->ino = inode ? inode->i_ino : 0; __entry->memcg_id = wb->memcg_css->id; __entry->cgroup_ino = __trace_wb_assign_cgroup(wb); + + rcu_read_lock(); __entry->page_cgroup_ino = cgroup_ino(folio_memcg(folio)->css.cgroup); + rcu_read_unlock(); ), - TP_printk("bdi %s[%llu]: ino=%lu memcg_id=%u cgroup_ino=%lu page_cgroup_ino=%lu", + TP_printk("bdi %s[%llu]: ino=%llu memcg_id=%u cgroup_ino=%llu page_cgroup_ino=%llu", __entry->name, __entry->bdi_id, - (unsigned long)__entry->ino, + __entry->ino, __entry->memcg_id, - (unsigned long)__entry->cgroup_ino, - (unsigned long)__entry->page_cgroup_ino + __entry->cgroup_ino, + __entry->page_cgroup_ino ) ); @@ -316,7 +319,7 @@ TRACE_EVENT(flush_foreign, TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, cgroup_ino) + __field(u64, cgroup_ino) __field(unsigned int, frn_bdi_id) __field(unsigned int, frn_memcg_id) ), @@ -328,9 +331,9 @@ TRACE_EVENT(flush_foreign, __entry->frn_memcg_id = frn_memcg_id; ), - TP_printk("bdi %s: cgroup_ino=%lu frn_bdi_id=%u frn_memcg_id=%u", + TP_printk("bdi %s: cgroup_ino=%llu frn_bdi_id=%u frn_memcg_id=%u", __entry->name, - (unsigned long)__entry->cgroup_ino, + __entry->cgroup_ino, __entry->frn_bdi_id, __entry->frn_memcg_id ) @@ -345,9 +348,9 @@ DECLARE_EVENT_CLASS(writeback_write_inode_template, TP_STRUCT__entry ( __array(char, name, 32) - __field(ino_t, ino) + __field(u64, ino) + __field(u64, cgroup_ino) __field(int, sync_mode) - __field(ino_t, cgroup_ino) ), TP_fast_assign( @@ -358,11 +361,11 @@ DECLARE_EVENT_CLASS(writeback_write_inode_template, __entry->cgroup_ino = __trace_wbc_assign_cgroup(wbc); ), - TP_printk("bdi %s: ino=%lu sync_mode=%d cgroup_ino=%lu", + TP_printk("bdi %s: ino=%llu sync_mode=%d cgroup_ino=%llu", __entry->name, - (unsigned long)__entry->ino, + __entry->ino, __entry->sync_mode, - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); @@ -385,6 +388,7 @@ DECLARE_EVENT_CLASS(writeback_work_class, TP_ARGS(wb, work), TP_STRUCT__entry( __array(char, name, 32) + __field(u64, cgroup_ino) __field(long, nr_pages) __field(dev_t, sb_dev) __field(int, sync_mode) @@ -392,7 +396,6 @@ DECLARE_EVENT_CLASS(writeback_work_class, __field(int, range_cyclic) __field(int, for_background) __field(int, reason) - __field(ino_t, cgroup_ino) ), TP_fast_assign( strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); @@ -406,7 +409,7 @@ DECLARE_EVENT_CLASS(writeback_work_class, __entry->cgroup_ino = __trace_wb_assign_cgroup(wb); ), TP_printk("bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d " - "kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%lu", + "kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%llu", __entry->name, MAJOR(__entry->sb_dev), MINOR(__entry->sb_dev), __entry->nr_pages, @@ -415,7 +418,7 @@ DECLARE_EVENT_CLASS(writeback_work_class, __entry->range_cyclic, __entry->for_background, __print_symbolic(__entry->reason, WB_WORK_REASON), - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); #define DEFINE_WRITEBACK_WORK_EVENT(name) \ @@ -445,15 +448,15 @@ DECLARE_EVENT_CLASS(writeback_class, TP_ARGS(wb), TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, cgroup_ino) + __field(u64, cgroup_ino) ), TP_fast_assign( strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); __entry->cgroup_ino = __trace_wb_assign_cgroup(wb); ), - TP_printk("bdi %s: cgroup_ino=%lu", + TP_printk("bdi %s: cgroup_ino=%llu", __entry->name, - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); #define DEFINE_WRITEBACK_EVENT(name) \ @@ -482,15 +485,15 @@ DECLARE_EVENT_CLASS(wbc_class, TP_ARGS(wbc, bdi), TP_STRUCT__entry( __array(char, name, 32) + __field(u64, cgroup_ino) __field(long, nr_to_write) __field(long, pages_skipped) + __field(long, range_start) + __field(long, range_end) __field(int, sync_mode) __field(int, for_kupdate) __field(int, for_background) __field(int, range_cyclic) - __field(long, range_start) - __field(long, range_end) - __field(ino_t, cgroup_ino) ), TP_fast_assign( @@ -507,7 +510,7 @@ DECLARE_EVENT_CLASS(wbc_class, ), TP_printk("bdi %s: towrt=%ld skip=%ld mode=%d kupd=%d bgrd=%d " - "cyclic=%d start=0x%lx end=0x%lx cgroup_ino=%lu", + "cyclic=%d start=0x%lx end=0x%lx cgroup_ino=%llu", __entry->name, __entry->nr_to_write, __entry->pages_skipped, @@ -517,7 +520,7 @@ DECLARE_EVENT_CLASS(wbc_class, __entry->range_cyclic, __entry->range_start, __entry->range_end, - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ) @@ -535,11 +538,11 @@ TRACE_EVENT(writeback_queue_io, TP_ARGS(wb, work, dirtied_before, moved), TP_STRUCT__entry( __array(char, name, 32) + __field(u64, cgroup_ino) __field(unsigned long, older) __field(long, age) __field(int, moved) __field(int, reason) - __field(ino_t, cgroup_ino) ), TP_fast_assign( strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); @@ -549,13 +552,13 @@ TRACE_EVENT(writeback_queue_io, __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", + TP_printk("bdi %s: older=%lu age=%ld enqueue=%d reason=%s cgroup_ino=%llu", __entry->name, __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 + __entry->cgroup_ino ) ); @@ -614,13 +617,13 @@ TRACE_EVENT(bdi_dirty_ratelimit, TP_STRUCT__entry( __array(char, bdi, 32) + __field(u64, cgroup_ino) __field(unsigned long, write_bw) __field(unsigned long, avg_write_bw) __field(unsigned long, dirty_rate) __field(unsigned long, dirty_ratelimit) __field(unsigned long, task_ratelimit) __field(unsigned long, balanced_dirty_ratelimit) - __field(ino_t, cgroup_ino) ), TP_fast_assign( @@ -638,7 +641,7 @@ TRACE_EVENT(bdi_dirty_ratelimit, TP_printk("bdi %s: " "write_bw=%lu awrite_bw=%lu dirty_rate=%lu " "dirty_ratelimit=%lu task_ratelimit=%lu " - "balanced_dirty_ratelimit=%lu cgroup_ino=%lu", + "balanced_dirty_ratelimit=%lu cgroup_ino=%llu", __entry->bdi, __entry->write_bw, /* write bandwidth */ __entry->avg_write_bw, /* avg write bandwidth */ @@ -646,7 +649,7 @@ TRACE_EVENT(bdi_dirty_ratelimit, __entry->dirty_ratelimit, /* base ratelimit */ __entry->task_ratelimit, /* ratelimit with position control */ __entry->balanced_dirty_ratelimit, /* the balanced ratelimit */ - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); @@ -667,6 +670,7 @@ TRACE_EVENT(balance_dirty_pages, TP_STRUCT__entry( __array( char, bdi, 32) + __field(u64, cgroup_ino) __field(unsigned long, limit) __field(unsigned long, setpoint) __field(unsigned long, dirty) @@ -674,13 +678,12 @@ TRACE_EVENT(balance_dirty_pages, __field(unsigned long, wb_dirty) __field(unsigned long, dirty_ratelimit) __field(unsigned long, task_ratelimit) - __field(unsigned int, dirtied) - __field(unsigned int, dirtied_pause) __field(unsigned long, paused) __field( long, pause) __field(unsigned long, period) __field( long, think) - __field(ino_t, cgroup_ino) + __field(unsigned int, dirtied) + __field(unsigned int, dirtied_pause) ), TP_fast_assign( @@ -711,7 +714,7 @@ TRACE_EVENT(balance_dirty_pages, "wb_setpoint=%lu wb_dirty=%lu " "dirty_ratelimit=%lu task_ratelimit=%lu " "dirtied=%u dirtied_pause=%u " - "paused=%lu pause=%ld period=%lu think=%ld cgroup_ino=%lu", + "paused=%lu pause=%ld period=%lu think=%ld cgroup_ino=%llu", __entry->bdi, __entry->limit, __entry->setpoint, @@ -726,7 +729,7 @@ TRACE_EVENT(balance_dirty_pages, __entry->pause, /* ms */ __entry->period, /* ms */ __entry->think, /* ms */ - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); @@ -737,10 +740,10 @@ TRACE_EVENT(writeback_sb_inodes_requeue, TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, ino) + __field(u64, ino) + __field(u64, cgroup_ino) __field(unsigned long, state) __field(unsigned long, dirtied_when) - __field(ino_t, cgroup_ino) ), TP_fast_assign( @@ -752,13 +755,13 @@ TRACE_EVENT(writeback_sb_inodes_requeue, __entry->cgroup_ino = __trace_wb_assign_cgroup(inode_to_wb(inode)); ), - TP_printk("bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu cgroup_ino=%lu", + TP_printk("bdi %s: ino=%llu state=%s dirtied_when=%lu age=%lu cgroup_ino=%llu", __entry->name, - (unsigned long)__entry->ino, + __entry->ino, show_inode_state(__entry->state), __entry->dirtied_when, (jiffies - __entry->dirtied_when) / HZ, - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); @@ -773,13 +776,13 @@ DECLARE_EVENT_CLASS(writeback_single_inode_template, TP_STRUCT__entry( __array(char, name, 32) - __field(ino_t, ino) + __field(u64, ino) + __field(u64, cgroup_ino) __field(unsigned long, state) __field(unsigned long, dirtied_when) __field(unsigned long, writeback_index) - __field(long, nr_to_write) __field(unsigned long, wrote) - __field(ino_t, cgroup_ino) + __field(long, nr_to_write) ), TP_fast_assign( @@ -794,17 +797,17 @@ DECLARE_EVENT_CLASS(writeback_single_inode_template, __entry->cgroup_ino = __trace_wbc_assign_cgroup(wbc); ), - TP_printk("bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu " - "index=%lu to_write=%ld wrote=%lu cgroup_ino=%lu", + TP_printk("bdi %s: ino=%llu state=%s dirtied_when=%lu age=%lu " + "index=%lu to_write=%ld wrote=%lu cgroup_ino=%llu", __entry->name, - (unsigned long)__entry->ino, + __entry->ino, show_inode_state(__entry->state), __entry->dirtied_when, (jiffies - __entry->dirtied_when) / HZ, __entry->writeback_index, __entry->nr_to_write, __entry->wrote, - (unsigned long)__entry->cgroup_ino + __entry->cgroup_ino ) ); @@ -828,11 +831,11 @@ DECLARE_EVENT_CLASS(writeback_inode_template, TP_ARGS(inode), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( u64, ino ) __field(unsigned long, state ) - __field( __u16, mode ) __field(unsigned long, dirtied_when ) + __field( dev_t, dev ) + __field( __u16, mode ) ), TP_fast_assign( @@ -843,9 +846,9 @@ DECLARE_EVENT_CLASS(writeback_inode_template, __entry->dirtied_when = inode->dirtied_when; ), - TP_printk("dev %d,%d ino %lu dirtied %lu state %s mode 0%o", + TP_printk("dev %d,%d ino %llu dirtied %lu state %s mode 0%o", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long)__entry->ino, __entry->dirtied_when, + __entry->ino, __entry->dirtied_when, show_inode_state(__entry->state), __entry->mode) ); diff --git a/include/trace/stages/stage3_trace_output.h b/include/trace/stages/stage3_trace_output.h index fce85ea2df1c..181b81335781 100644 --- a/include/trace/stages/stage3_trace_output.h +++ b/include/trace/stages/stage3_trace_output.h @@ -64,36 +64,36 @@ #define __get_rel_sockaddr(field) ((struct sockaddr *)__get_rel_dynamic_array(field)) #undef __print_flags -#define __print_flags(flag, delim, flag_array...) \ - ({ \ - static const struct trace_print_flags __flags[] = \ - { flag_array, { -1, NULL }}; \ - trace_print_flags_seq(p, delim, flag, __flags); \ +#define __print_flags(flag, delim, flag_array...) \ + ({ \ + static const struct trace_print_flags __flags[] = \ + { flag_array }; \ + trace_print_flags_seq(p, delim, flag, __flags, ARRAY_SIZE(__flags)); \ }) #undef __print_symbolic -#define __print_symbolic(value, symbol_array...) \ - ({ \ - static const struct trace_print_flags symbols[] = \ - { symbol_array, { -1, NULL }}; \ - trace_print_symbols_seq(p, value, symbols); \ +#define __print_symbolic(value, symbol_array...) \ + ({ \ + static const struct trace_print_flags symbols[] = \ + { symbol_array }; \ + trace_print_symbols_seq(p, value, symbols, ARRAY_SIZE(symbols)); \ }) #undef __print_flags_u64 #undef __print_symbolic_u64 #if BITS_PER_LONG == 32 -#define __print_flags_u64(flag, delim, flag_array...) \ - ({ \ - static const struct trace_print_flags_u64 __flags[] = \ - { flag_array, { -1, NULL } }; \ - trace_print_flags_seq_u64(p, delim, flag, __flags); \ +#define __print_flags_u64(flag, delim, flag_array...) \ + ({ \ + static const struct trace_print_flags_u64 __flags[] = \ + { flag_array }; \ + trace_print_flags_seq_u64(p, delim, flag, __flags, ARRAY_SIZE(__flags)); \ }) -#define __print_symbolic_u64(value, symbol_array...) \ - ({ \ - static const struct trace_print_flags_u64 symbols[] = \ - { symbol_array, { -1, NULL } }; \ - trace_print_symbols_seq_u64(p, value, symbols); \ +#define __print_symbolic_u64(value, symbol_array...) \ + ({ \ + static const struct trace_print_flags_u64 symbols[] = \ + { symbol_array }; \ + trace_print_symbols_seq_u64(p, value, symbols, ARRAY_SIZE(symbols)); \ }) #else #define __print_flags_u64(flag, delim, flag_array...) \ @@ -150,3 +150,11 @@ #undef __get_buf #define __get_buf(len) trace_seq_acquire(p, (len)) + +#undef __event_in_hardirq +#undef __event_in_softirq +#undef __event_in_irq + +#define __event_in_hardirq() (__entry->ent.flags & TRACE_FLAG_HARDIRQ) +#define __event_in_softirq() (__entry->ent.flags & TRACE_FLAG_SOFTIRQ) +#define __event_in_irq() (__entry->ent.flags & (TRACE_FLAG_HARDIRQ | TRACE_FLAG_SOFTIRQ)) diff --git a/include/trace/stages/stage7_class_define.h b/include/trace/stages/stage7_class_define.h index fcd564a590f4..47008897a795 100644 --- a/include/trace/stages/stage7_class_define.h +++ b/include/trace/stages/stage7_class_define.h @@ -26,6 +26,25 @@ #undef __print_hex_dump #undef __get_buf +#undef __event_in_hardirq +#undef __event_in_softirq +#undef __event_in_irq + +/* + * The TRACE_FLAG_* are enums. Instead of using TRACE_DEFINE_ENUM(), + * use their hardcoded values. These values are parsed by user space + * tooling elsewhere so they will never change. + * + * See "enum trace_flag_type" in linux/trace_events.h: + * TRACE_FLAG_HARDIRQ + * TRACE_FLAG_SOFTIRQ + */ + +/* This is what is displayed in the format files */ +#define __event_in_hardirq() (REC->common_flags & 0x8) +#define __event_in_softirq() (REC->common_flags & 0x10) +#define __event_in_irq() (REC->common_flags & 0x18) + /* * The below is not executed in the kernel. It is only what is * displayed in the print format for userspace to parse. |
