diff options
author | Matthew Macy <[email protected]> | 2019-09-11 14:25:53 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-09-11 14:25:53 -0700 |
commit | d66620681d85105256203b4f4407f0092e5a7fe7 (patch) | |
tree | 688d620ec8af54e0db19a1c7bc87fab80a337c69 /include/sys/trace_arc.h | |
parent | 5815f7ac30e108fcbf4c6487328c28d818e9e014 (diff) |
OpenZFS restructuring - move linux tracing code to platform directories
Move Linux specific tracing headers and source to platform directories
and update the build system.
Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed by: Brad Lewis <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matt Macy <[email protected]>
Closes #9290
Diffstat (limited to 'include/sys/trace_arc.h')
-rw-r--r-- | include/sys/trace_arc.h | 383 |
1 files changed, 0 insertions, 383 deletions
diff --git a/include/sys/trace_arc.h b/include/sys/trace_arc.h deleted file mode 100644 index 5ce5b38a3..000000000 --- a/include/sys/trace_arc.h +++ /dev/null @@ -1,383 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ - -#include <sys/list.h> - -#if defined(_KERNEL) -#if defined(HAVE_DECLARE_EVENT_CLASS) - -#undef TRACE_SYSTEM -#define TRACE_SYSTEM zfs - -#undef TRACE_SYSTEM_VAR -#define TRACE_SYSTEM_VAR zfs_arc - -#if !defined(_TRACE_ARC_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_ARC_H - -#include <linux/tracepoint.h> -#include <sys/types.h> -#include <sys/trace_common.h> /* For ZIO macros */ - -/* - * Generic support for one argument tracepoints of the form: - * - * DTRACE_PROBE1(..., - * arc_buf_hdr_t *, ...); - */ -/* BEGIN CSTYLED */ -DECLARE_EVENT_CLASS(zfs_arc_buf_hdr_class, - TP_PROTO(arc_buf_hdr_t *ab), - TP_ARGS(ab), - TP_STRUCT__entry( - __array(uint64_t, hdr_dva_word, 2) - __field(uint64_t, hdr_birth) - __field(uint32_t, hdr_flags) - __field(uint32_t, hdr_bufcnt) - __field(arc_buf_contents_t, hdr_type) - __field(uint16_t, hdr_psize) - __field(uint16_t, hdr_lsize) - __field(uint64_t, hdr_spa) - __field(arc_state_type_t, hdr_state_type) - __field(clock_t, hdr_access) - __field(uint32_t, hdr_mru_hits) - __field(uint32_t, hdr_mru_ghost_hits) - __field(uint32_t, hdr_mfu_hits) - __field(uint32_t, hdr_mfu_ghost_hits) - __field(uint32_t, hdr_l2_hits) - __field(int64_t, hdr_refcount) - ), - TP_fast_assign( - __entry->hdr_dva_word[0] = ab->b_dva.dva_word[0]; - __entry->hdr_dva_word[1] = ab->b_dva.dva_word[1]; - __entry->hdr_birth = ab->b_birth; - __entry->hdr_flags = ab->b_flags; - __entry->hdr_bufcnt = ab->b_l1hdr.b_bufcnt; - __entry->hdr_psize = ab->b_psize; - __entry->hdr_lsize = ab->b_lsize; - __entry->hdr_spa = ab->b_spa; - __entry->hdr_state_type = ab->b_l1hdr.b_state->arcs_state; - __entry->hdr_access = ab->b_l1hdr.b_arc_access; - __entry->hdr_mru_hits = ab->b_l1hdr.b_mru_hits; - __entry->hdr_mru_ghost_hits = ab->b_l1hdr.b_mru_ghost_hits; - __entry->hdr_mfu_hits = ab->b_l1hdr.b_mfu_hits; - __entry->hdr_mfu_ghost_hits = ab->b_l1hdr.b_mfu_ghost_hits; - __entry->hdr_l2_hits = ab->b_l1hdr.b_l2_hits; - __entry->hdr_refcount = ab->b_l1hdr.b_refcnt.rc_count; - ), - TP_printk("hdr { dva 0x%llx:0x%llx birth %llu " - "flags 0x%x bufcnt %u type %u psize %u lsize %u spa %llu " - "state_type %u access %lu mru_hits %u mru_ghost_hits %u " - "mfu_hits %u mfu_ghost_hits %u l2_hits %u refcount %lli }", - __entry->hdr_dva_word[0], __entry->hdr_dva_word[1], - __entry->hdr_birth, __entry->hdr_flags, - __entry->hdr_bufcnt, __entry->hdr_type, __entry->hdr_psize, - __entry->hdr_lsize, __entry->hdr_spa, __entry->hdr_state_type, - __entry->hdr_access, __entry->hdr_mru_hits, - __entry->hdr_mru_ghost_hits, __entry->hdr_mfu_hits, - __entry->hdr_mfu_ghost_hits, __entry->hdr_l2_hits, - __entry->hdr_refcount) -); -/* END CSTYLED */ - -/* BEGIN CSTYLED */ -#define DEFINE_ARC_BUF_HDR_EVENT(name) \ -DEFINE_EVENT(zfs_arc_buf_hdr_class, name, \ - TP_PROTO(arc_buf_hdr_t *ab), \ - TP_ARGS(ab)) -/* END CSTYLED */ -DEFINE_ARC_BUF_HDR_EVENT(zfs_arc__hit); -DEFINE_ARC_BUF_HDR_EVENT(zfs_arc__evict); -DEFINE_ARC_BUF_HDR_EVENT(zfs_arc__delete); -DEFINE_ARC_BUF_HDR_EVENT(zfs_new_state__mru); -DEFINE_ARC_BUF_HDR_EVENT(zfs_new_state__mfu); -DEFINE_ARC_BUF_HDR_EVENT(zfs_arc__async__upgrade__sync); -DEFINE_ARC_BUF_HDR_EVENT(zfs_arc__demand__hit__predictive__prefetch); -DEFINE_ARC_BUF_HDR_EVENT(zfs_l2arc__hit); -DEFINE_ARC_BUF_HDR_EVENT(zfs_l2arc__miss); - -/* - * Generic support for two argument tracepoints of the form: - * - * DTRACE_PROBE2(..., - * vdev_t *, ..., - * zio_t *, ...); - */ -/* BEGIN CSTYLED */ -DECLARE_EVENT_CLASS(zfs_l2arc_rw_class, - TP_PROTO(vdev_t *vd, zio_t *zio), - TP_ARGS(vd, zio), - TP_STRUCT__entry( - __field(uint64_t, vdev_id) - __field(uint64_t, vdev_guid) - __field(uint64_t, vdev_state) - ZIO_TP_STRUCT_ENTRY - ), - TP_fast_assign( - __entry->vdev_id = vd->vdev_id; - __entry->vdev_guid = vd->vdev_guid; - __entry->vdev_state = vd->vdev_state; - ZIO_TP_FAST_ASSIGN - ), - TP_printk("vdev { id %llu guid %llu state %llu } " - ZIO_TP_PRINTK_FMT, __entry->vdev_id, __entry->vdev_guid, - __entry->vdev_state, ZIO_TP_PRINTK_ARGS) -); -/* END CSTYLED */ - -/* BEGIN CSTYLED */ -#define DEFINE_L2ARC_RW_EVENT(name) \ -DEFINE_EVENT(zfs_l2arc_rw_class, name, \ - TP_PROTO(vdev_t *vd, zio_t *zio), \ - TP_ARGS(vd, zio)) -/* END CSTYLED */ -DEFINE_L2ARC_RW_EVENT(zfs_l2arc__read); -DEFINE_L2ARC_RW_EVENT(zfs_l2arc__write); - - -/* - * Generic support for two argument tracepoints of the form: - * - * DTRACE_PROBE2(..., - * zio_t *, ..., - * l2arc_write_callback_t *, ...); - */ -/* BEGIN CSTYLED */ -DECLARE_EVENT_CLASS(zfs_l2arc_iodone_class, - TP_PROTO(zio_t *zio, l2arc_write_callback_t *cb), - TP_ARGS(zio, cb), - TP_STRUCT__entry(ZIO_TP_STRUCT_ENTRY), - TP_fast_assign(ZIO_TP_FAST_ASSIGN), - TP_printk(ZIO_TP_PRINTK_FMT, ZIO_TP_PRINTK_ARGS) -); -/* END CSTYLED */ - -/* BEGIN CSTYLED */ -#define DEFINE_L2ARC_IODONE_EVENT(name) \ -DEFINE_EVENT(zfs_l2arc_iodone_class, name, \ - TP_PROTO(zio_t *zio, l2arc_write_callback_t *cb), \ - TP_ARGS(zio, cb)) -/* END CSTYLED */ -DEFINE_L2ARC_IODONE_EVENT(zfs_l2arc__iodone); - - -/* - * Generic support for four argument tracepoints of the form: - * - * DTRACE_PROBE4(..., - * arc_buf_hdr_t *, ..., - * const blkptr_t *, - * uint64_t, - * const zbookmark_phys_t *); - */ -/* BEGIN CSTYLED */ -DECLARE_EVENT_CLASS(zfs_arc_miss_class, - TP_PROTO(arc_buf_hdr_t *hdr, - const blkptr_t *bp, uint64_t size, const zbookmark_phys_t *zb), - TP_ARGS(hdr, bp, size, zb), - TP_STRUCT__entry( - __array(uint64_t, hdr_dva_word, 2) - __field(uint64_t, hdr_birth) - __field(uint32_t, hdr_flags) - __field(uint32_t, hdr_bufcnt) - __field(arc_buf_contents_t, hdr_type) - __field(uint16_t, hdr_psize) - __field(uint16_t, hdr_lsize) - __field(uint64_t, hdr_spa) - __field(arc_state_type_t, hdr_state_type) - __field(clock_t, hdr_access) - __field(uint32_t, hdr_mru_hits) - __field(uint32_t, hdr_mru_ghost_hits) - __field(uint32_t, hdr_mfu_hits) - __field(uint32_t, hdr_mfu_ghost_hits) - __field(uint32_t, hdr_l2_hits) - __field(int64_t, hdr_refcount) - - __array(uint64_t, bp_dva0, 2) - __array(uint64_t, bp_dva1, 2) - __array(uint64_t, bp_dva2, 2) - __array(uint64_t, bp_cksum, 4) - - __field(uint64_t, bp_lsize) - - __field(uint64_t, zb_objset) - __field(uint64_t, zb_object) - __field(int64_t, zb_level) - __field(uint64_t, zb_blkid) - ), - TP_fast_assign( - __entry->hdr_dva_word[0] = hdr->b_dva.dva_word[0]; - __entry->hdr_dva_word[1] = hdr->b_dva.dva_word[1]; - __entry->hdr_birth = hdr->b_birth; - __entry->hdr_flags = hdr->b_flags; - __entry->hdr_bufcnt = hdr->b_l1hdr.b_bufcnt; - __entry->hdr_psize = hdr->b_psize; - __entry->hdr_lsize = hdr->b_lsize; - __entry->hdr_spa = hdr->b_spa; - __entry->hdr_state_type = hdr->b_l1hdr.b_state->arcs_state; - __entry->hdr_access = hdr->b_l1hdr.b_arc_access; - __entry->hdr_mru_hits = hdr->b_l1hdr.b_mru_hits; - __entry->hdr_mru_ghost_hits = hdr->b_l1hdr.b_mru_ghost_hits; - __entry->hdr_mfu_hits = hdr->b_l1hdr.b_mfu_hits; - __entry->hdr_mfu_ghost_hits = hdr->b_l1hdr.b_mfu_ghost_hits; - __entry->hdr_l2_hits = hdr->b_l1hdr.b_l2_hits; - __entry->hdr_refcount = hdr->b_l1hdr.b_refcnt.rc_count; - - __entry->bp_dva0[0] = bp->blk_dva[0].dva_word[0]; - __entry->bp_dva0[1] = bp->blk_dva[0].dva_word[1]; - __entry->bp_dva1[0] = bp->blk_dva[1].dva_word[0]; - __entry->bp_dva1[1] = bp->blk_dva[1].dva_word[1]; - __entry->bp_dva2[0] = bp->blk_dva[2].dva_word[0]; - __entry->bp_dva2[1] = bp->blk_dva[2].dva_word[1]; - __entry->bp_cksum[0] = bp->blk_cksum.zc_word[0]; - __entry->bp_cksum[1] = bp->blk_cksum.zc_word[1]; - __entry->bp_cksum[2] = bp->blk_cksum.zc_word[2]; - __entry->bp_cksum[3] = bp->blk_cksum.zc_word[3]; - - __entry->bp_lsize = size; - - __entry->zb_objset = zb->zb_objset; - __entry->zb_object = zb->zb_object; - __entry->zb_level = zb->zb_level; - __entry->zb_blkid = zb->zb_blkid; - ), - TP_printk("hdr { dva 0x%llx:0x%llx birth %llu " - "flags 0x%x bufcnt %u psize %u lsize %u spa %llu state_type %u " - "access %lu mru_hits %u mru_ghost_hits %u mfu_hits %u " - "mfu_ghost_hits %u l2_hits %u refcount %lli } " - "bp { dva0 0x%llx:0x%llx dva1 0x%llx:0x%llx dva2 " - "0x%llx:0x%llx cksum 0x%llx:0x%llx:0x%llx:0x%llx " - "lsize %llu } zb { objset %llu object %llu level %lli " - "blkid %llu }", - __entry->hdr_dva_word[0], __entry->hdr_dva_word[1], - __entry->hdr_birth, __entry->hdr_flags, - __entry->hdr_bufcnt, __entry->hdr_psize, __entry->hdr_lsize, - __entry->hdr_spa, __entry->hdr_state_type, __entry->hdr_access, - __entry->hdr_mru_hits, __entry->hdr_mru_ghost_hits, - __entry->hdr_mfu_hits, __entry->hdr_mfu_ghost_hits, - __entry->hdr_l2_hits, __entry->hdr_refcount, - __entry->bp_dva0[0], __entry->bp_dva0[1], - __entry->bp_dva1[0], __entry->bp_dva1[1], - __entry->bp_dva2[0], __entry->bp_dva2[1], - __entry->bp_cksum[0], __entry->bp_cksum[1], - __entry->bp_cksum[2], __entry->bp_cksum[3], - __entry->bp_lsize, __entry->zb_objset, __entry->zb_object, - __entry->zb_level, __entry->zb_blkid) -); -/* END CSTYLED */ - -/* BEGIN CSTYLED */ -#define DEFINE_ARC_MISS_EVENT(name) \ -DEFINE_EVENT(zfs_arc_miss_class, name, \ - TP_PROTO(arc_buf_hdr_t *hdr, \ - const blkptr_t *bp, uint64_t size, const zbookmark_phys_t *zb), \ - TP_ARGS(hdr, bp, size, zb)) -/* END CSTYLED */ -DEFINE_ARC_MISS_EVENT(zfs_arc__miss); - -/* - * Generic support for four argument tracepoints of the form: - * - * DTRACE_PROBE4(..., - * l2arc_dev_t *, ..., - * list_t *, ..., - * uint64_t, ..., - * boolean_t, ...); - */ -/* BEGIN CSTYLED */ -DECLARE_EVENT_CLASS(zfs_l2arc_evict_class, - TP_PROTO(l2arc_dev_t *dev, - list_t *buflist, uint64_t taddr, boolean_t all), - TP_ARGS(dev, buflist, taddr, all), - TP_STRUCT__entry( - __field(uint64_t, vdev_id) - __field(uint64_t, vdev_guid) - __field(uint64_t, vdev_state) - - __field(uint64_t, l2ad_hand) - __field(uint64_t, l2ad_start) - __field(uint64_t, l2ad_end) - __field(boolean_t, l2ad_first) - __field(boolean_t, l2ad_writing) - - __field(uint64_t, taddr) - __field(boolean_t, all) - ), - TP_fast_assign( - __entry->vdev_id = dev->l2ad_vdev->vdev_id; - __entry->vdev_guid = dev->l2ad_vdev->vdev_guid; - __entry->vdev_state = dev->l2ad_vdev->vdev_state; - - __entry->l2ad_hand = dev->l2ad_hand; - __entry->l2ad_start = dev->l2ad_start; - __entry->l2ad_end = dev->l2ad_end; - __entry->l2ad_first = dev->l2ad_first; - __entry->l2ad_writing = dev->l2ad_writing; - - __entry->taddr = taddr; - __entry->all = all; - ), - TP_printk("l2ad { vdev { id %llu guid %llu state %llu } " - "hand %llu start %llu end %llu " - "first %d writing %d } taddr %llu all %d", - __entry->vdev_id, __entry->vdev_guid, __entry->vdev_state, - __entry->l2ad_hand, __entry->l2ad_start, - __entry->l2ad_end, __entry->l2ad_first, __entry->l2ad_writing, - __entry->taddr, __entry->all) -); -/* END CSTYLED */ - -/* BEGIN CSTYLED */ -#define DEFINE_L2ARC_EVICT_EVENT(name) \ -DEFINE_EVENT(zfs_l2arc_evict_class, name, \ - TP_PROTO(l2arc_dev_t *dev, \ - list_t *buflist, uint64_t taddr, boolean_t all), \ - TP_ARGS(dev, buflist, taddr, all)) -/* END CSTYLED */ -DEFINE_L2ARC_EVICT_EVENT(zfs_l2arc__evict); - -#endif /* _TRACE_ARC_H */ - -#undef TRACE_INCLUDE_PATH -#undef TRACE_INCLUDE_FILE -#define TRACE_INCLUDE_PATH sys -#define TRACE_INCLUDE_FILE trace_arc -#include <trace/define_trace.h> - -#else - -DEFINE_DTRACE_PROBE1(arc__hit); -DEFINE_DTRACE_PROBE1(arc__evict); -DEFINE_DTRACE_PROBE1(arc__delete); -DEFINE_DTRACE_PROBE1(new_state__mru); -DEFINE_DTRACE_PROBE1(new_state__mfu); -DEFINE_DTRACE_PROBE1(arc__async__upgrade__sync); -DEFINE_DTRACE_PROBE1(arc__demand__hit__predictive__prefetch); -DEFINE_DTRACE_PROBE1(l2arc__hit); -DEFINE_DTRACE_PROBE1(l2arc__miss); -DEFINE_DTRACE_PROBE2(l2arc__read); -DEFINE_DTRACE_PROBE2(l2arc__write); -DEFINE_DTRACE_PROBE2(l2arc__iodone); -DEFINE_DTRACE_PROBE4(arc__miss); -DEFINE_DTRACE_PROBE4(l2arc__evict); - -#endif /* HAVE_DECLARE_EVENT_CLASS */ -#endif /* _KERNEL */ |