62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 1) /* SPDX-License-Identifier: GPL-2.0 */
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 2) /*
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 3) * zonefs filesystem driver tracepoints.
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 4) *
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 5) * Copyright (C) 2021 Western Digital Corporation or its affiliates.
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 6) */
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 7)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 8) #undef TRACE_SYSTEM
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 9) #define TRACE_SYSTEM zonefs
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 10)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 11) #if !defined(_TRACE_ZONEFS_H) || defined(TRACE_HEADER_MULTI_READ)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 12) #define _TRACE_ZONEFS_H
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 13)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 14) #include <linux/tracepoint.h>
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 15) #include <linux/trace_seq.h>
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 16) #include <linux/blkdev.h>
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 17)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 18) #include "zonefs.h"
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 19)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 20) #define show_dev(dev) MAJOR(dev), MINOR(dev)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 21)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 22) TRACE_EVENT(zonefs_zone_mgmt,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 23) TP_PROTO(struct inode *inode, enum req_opf op),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 24) TP_ARGS(inode, op),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 25) TP_STRUCT__entry(
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 26) __field(dev_t, dev)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 27) __field(ino_t, ino)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 28) __field(int, op)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 29) __field(sector_t, sector)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 30) __field(sector_t, nr_sectors)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 31) ),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 32) TP_fast_assign(
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 33) __entry->dev = inode->i_sb->s_dev;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 34) __entry->ino = inode->i_ino;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 35) __entry->op = op;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 36) __entry->sector = ZONEFS_I(inode)->i_zsector;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 37) __entry->nr_sectors =
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 38) ZONEFS_I(inode)->i_zone_size >> SECTOR_SHIFT;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 39) ),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 40) TP_printk("bdev=(%d,%d), ino=%lu op=%s, sector=%llu, nr_sectors=%llu",
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 41) show_dev(__entry->dev), (unsigned long)__entry->ino,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 42) blk_op_str(__entry->op), __entry->sector,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 43) __entry->nr_sectors
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 44) )
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 45) );
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 46)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 47) TRACE_EVENT(zonefs_file_dio_append,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 48) TP_PROTO(struct inode *inode, ssize_t size, ssize_t ret),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 49) TP_ARGS(inode, size, ret),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 50) TP_STRUCT__entry(
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 51) __field(dev_t, dev)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 52) __field(ino_t, ino)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 53) __field(sector_t, sector)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 54) __field(ssize_t, size)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 55) __field(loff_t, wpoffset)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 56) __field(ssize_t, ret)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 57) ),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 58) TP_fast_assign(
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 59) __entry->dev = inode->i_sb->s_dev;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 60) __entry->ino = inode->i_ino;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 61) __entry->sector = ZONEFS_I(inode)->i_zsector;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 62) __entry->size = size;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 63) __entry->wpoffset = ZONEFS_I(inode)->i_wpoffset;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 64) __entry->ret = ret;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 65) ),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 66) TP_printk("bdev=(%d, %d), ino=%lu, sector=%llu, size=%zu, wpoffset=%llu, ret=%zu",
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 67) show_dev(__entry->dev), (unsigned long)__entry->ino,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 68) __entry->sector, __entry->size, __entry->wpoffset,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 69) __entry->ret
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 70) )
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 71) );
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 72)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 73) TRACE_EVENT(zonefs_iomap_begin,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 74) TP_PROTO(struct inode *inode, struct iomap *iomap),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 75) TP_ARGS(inode, iomap),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 76) TP_STRUCT__entry(
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 77) __field(dev_t, dev)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 78) __field(ino_t, ino)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 79) __field(u64, addr)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 80) __field(loff_t, offset)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 81) __field(u64, length)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 82) ),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 83) TP_fast_assign(
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 84) __entry->dev = inode->i_sb->s_dev;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 85) __entry->ino = inode->i_ino;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 86) __entry->addr = iomap->addr;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 87) __entry->offset = iomap->offset;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 88) __entry->length = iomap->length;
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 89) ),
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 90) TP_printk("bdev=(%d,%d), ino=%lu, addr=%llu, offset=%llu, length=%llu",
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 91) show_dev(__entry->dev), (unsigned long)__entry->ino,
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 92) __entry->addr, __entry->offset, __entry->length
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 93) )
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 94) );
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 95)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 96) #endif /* _TRACE_ZONEFS_H */
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 97)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 98) #undef TRACE_INCLUDE_PATH
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 99) #define TRACE_INCLUDE_PATH .
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 100) #undef TRACE_INCLUDE_FILE
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 101) #define TRACE_INCLUDE_FILE trace
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 102)
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 103) /* This part must be outside protection */
62ab1aadcccd0 (Johannes Thumshirn 2021-01-27 05:21:15 +0900 104) #include <trace/define_trace.h>