PATH:
usr
/
src
/
kernels
/
5.14.0-611.49.2.el9_7.x86_64
/
include
/
trace
/
events
/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM ksm #if !defined(_TRACE_KSM_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_KSM_H #include <linux/tracepoint.h> /** * ksm_scan_template - called for start / stop scan * * @seq: sequence number of scan * @rmap_entries: actual number of rmap entries * * Allows to trace the start / stop of a ksm scan. */ DECLARE_EVENT_CLASS(ksm_scan_template, TP_PROTO(int seq, u32 rmap_entries), TP_ARGS(seq, rmap_entries), TP_STRUCT__entry( __field(int, seq) __field(u32, rmap_entries) ), TP_fast_assign( __entry->seq = seq; __entry->rmap_entries = rmap_entries; ), TP_printk("seq %d rmap size %d", __entry->seq, __entry->rmap_entries) ); /** * ksm_start_scan - called after a new ksm scan is started * * @seq: sequence number of scan * @rmap_entries: actual number of rmap entries * * Allows to trace the start of a ksm scan. */ DEFINE_EVENT(ksm_scan_template, ksm_start_scan, TP_PROTO(int seq, u32 rmap_entries), TP_ARGS(seq, rmap_entries) ); /** * ksm_stop_scan - called after a new ksm scan has completed * * @seq: sequence number of scan * @rmap_entries: actual number of rmap entries * * Allows to trace the completion of a ksm scan. */ DEFINE_EVENT(ksm_scan_template, ksm_stop_scan, TP_PROTO(int seq, u32 rmap_entries), TP_ARGS(seq, rmap_entries) ); /** * ksm_enter - called after a new process has been added / removed from ksm * * @mm: address of the mm object of the process * * Allows to trace the when a process has been added or removed from ksm. */ DECLARE_EVENT_CLASS(ksm_enter_exit_template, TP_PROTO(void *mm), TP_ARGS(mm), TP_STRUCT__entry( __field(void *, mm) ), TP_fast_assign( __entry->mm = mm; ), TP_printk("mm %p", __entry->mm) ); /** * ksm_enter - called after a new process has been added to ksm * * @mm: address of the mm object of the process * * Allows to trace the when a process has been added to ksm. */ DEFINE_EVENT(ksm_enter_exit_template, ksm_enter, TP_PROTO(void *mm), TP_ARGS(mm) ); /** * ksm_exit - called after a new process has been removed from ksm * * @mm: address of the mm object of the process * * Allows to trace the when a process has been removed from ksm. */ DEFINE_EVENT(ksm_enter_exit_template, ksm_exit, TP_PROTO(void *mm), TP_ARGS(mm) ); /** * ksm_merge_one_page - called after a page has been merged * * @pfn: page frame number of ksm page * @rmap_item: address of rmap_item object * @mm: address of the process mm struct * @err: success * * Allows to trace the ksm merging of individual pages. */ TRACE_EVENT(ksm_merge_one_page, TP_PROTO(unsigned long pfn, void *rmap_item, void *mm, int err), TP_ARGS(pfn, rmap_item, mm, err), TP_STRUCT__entry( __field(unsigned long, pfn) __field(void *, rmap_item) __field(void *, mm) __field(int, err) ), TP_fast_assign( __entry->pfn = pfn; __entry->rmap_item = rmap_item; __entry->mm = mm; __entry->err = err; ), TP_printk("ksm pfn %lu rmap_item %p mm %p error %d", __entry->pfn, __entry->rmap_item, __entry->mm, __entry->err) ); /** * ksm_merge_with_ksm_page - called after a page has been merged with a ksm page * * @ksm_page: address ksm page * @pfn: page frame number of ksm page * @rmap_item: address of rmap_item object * @mm: address of the mm object of the process * @err: success * * Allows to trace the merging of a page with a ksm page. */ TRACE_EVENT(ksm_merge_with_ksm_page, TP_PROTO(void *ksm_page, unsigned long pfn, void *rmap_item, void *mm, int err), TP_ARGS(ksm_page, pfn, rmap_item, mm, err), TP_STRUCT__entry( __field(void *, ksm_page) __field(unsigned long, pfn) __field(void *, rmap_item) __field(void *, mm) __field(int, err) ), TP_fast_assign( __entry->ksm_page = ksm_page; __entry->pfn = pfn; __entry->rmap_item = rmap_item; __entry->mm = mm; __entry->err = err; ), TP_printk("%spfn %lu rmap_item %p mm %p error %d", (__entry->ksm_page ? "ksm " : ""), __entry->pfn, __entry->rmap_item, __entry->mm, __entry->err) ); /** * ksm_remove_ksm_page - called after a ksm page has been removed * * @pfn: page frame number of ksm page * * Allows to trace the removing of stable ksm pages. */ TRACE_EVENT(ksm_remove_ksm_page, TP_PROTO(unsigned long pfn), TP_ARGS(pfn), TP_STRUCT__entry( __field(unsigned long, pfn) ), TP_fast_assign( __entry->pfn = pfn; ), TP_printk("pfn %lu", __entry->pfn) ); /** * ksm_remove_rmap_item - called after a rmap_item has been removed from the * stable tree * * @pfn: page frame number of ksm page * @rmap_item: address of rmap_item object * @mm: address of the process mm struct * * Allows to trace the removal of pages from the stable tree list. */ TRACE_EVENT(ksm_remove_rmap_item, TP_PROTO(unsigned long pfn, void *rmap_item, void *mm), TP_ARGS(pfn, rmap_item, mm), TP_STRUCT__entry( __field(unsigned long, pfn) __field(void *, rmap_item) __field(void *, mm) ), TP_fast_assign( __entry->pfn = pfn; __entry->rmap_item = rmap_item; __entry->mm = mm; ), TP_printk("pfn %lu rmap_item %p mm %p", __entry->pfn, __entry->rmap_item, __entry->mm) ); #endif /* _TRACE_KSM_H */ /* This part must be outside protection */ #include <trace/define_trace.h>
[-] fsi_master_gpio.h
[edit]
[-] rtc.h
[edit]
[-] sunvnet.h
[edit]
[-] iocost.h
[edit]
[-] preemptirq.h
[edit]
[-] xdp.h
[edit]
[-] vmalloc.h
[edit]
[-] neigh.h
[edit]
[-] huge_memory.h
[edit]
[-] fsi_master_aspeed.h
[edit]
[-] percpu.h
[edit]
[-] power.h
[edit]
[-] rwmmio.h
[edit]
[-] printk.h
[edit]
[-] iscsi.h
[edit]
[-] bridge.h
[edit]
[-] mlxsw.h
[edit]
[-] page_isolation.h
[edit]
[-] workqueue.h
[edit]
[-] oom.h
[edit]
[-] hw_pressure.h
[edit]
[-] migrate.h
[edit]
[-] spmi.h
[edit]
[-] irq.h
[edit]
[-] ib_umad.h
[edit]
[-] jbd2.h
[edit]
[-] fs_dax.h
[edit]
[-] siox.h
[edit]
[-] rxrpc.h
[edit]
[-] devlink.h
[edit]
[-] smbus.h
[edit]
[-] osnoise.h
[edit]
[-] netfs.h
[edit]
[-] spi.h
[edit]
[-] fscache.h
[edit]
[-] nbd.h
[edit]
[-] sof.h
[edit]
[-] nilfs2.h
[edit]
[-] rdma_core.h
[edit]
[-] irq_matrix.h
[edit]
[-] module.h
[edit]
[-] asoc.h
[edit]
[-] mce.h
[edit]
[-] intel_ifs.h
[edit]
[-] filelock.h
[edit]
[-] page_pool.h
[edit]
[-] io_uring.h
[edit]
[-] cgroup.h
[edit]
[-] net_probe_common.h
[edit]
[-] clk.h
[edit]
[-] kyber.h
[edit]
[-] damon.h
[edit]
[-] skb.h
[edit]
[-] syscalls.h
[edit]
[-] rcu.h
[edit]
[-] devfreq.h
[edit]
[-] netlink.h
[edit]
[-] tegra_apb_dma.h
[edit]
[-] cachefiles.h
[edit]
[-] sof_intel.h
[edit]
[-] 9p.h
[edit]
[-] rpcrdma.h
[edit]
[-] avc.h
[edit]
[-] fib6.h
[edit]
[-] compaction.h
[edit]
[-] libata.h
[edit]
[-] rpm.h
[edit]
[-] ksm.h
[edit]
[-] intel-sst.h
[edit]
[-] mmap.h
[edit]
[-] block.h
[edit]
[-] page_ref.h
[edit]
[-] qla.h
[edit]
[-] cma.h
[edit]
[-] wbt.h
[edit]
[-] writeback.h
[edit]
[-] i2c.h
[edit]
[-] fsi.h
[edit]
[-] fib.h
[edit]
[-] f2fs.h
[edit]
[-] swiotlb.h
[edit]
[-] scmi.h
[edit]
[-] sock.h
[edit]
[-] v4l2.h
[edit]
[-] qdisc.h
[edit]
[-] rseq.h
[edit]
[-] sctp.h
[edit]
[-] iommu.h
[edit]
[-] vmscan.h
[edit]
[-] cpuhp.h
[edit]
[-] scsi.h
[edit]
[-] ib_mad.h
[edit]
[-] i2c_slave.h
[edit]
[-] bpf_test_run.h
[edit]
[-] target.h
[edit]
[-] dma.h
[edit]
[-] pwm.h
[edit]
[-] dma_fence.h
[edit]
[-] mmflags.h
[edit]
[-] timer.h
[edit]
[-] xen.h
[edit]
[-] gpu_mem.h
[edit]
[-] afs.h
[edit]
[-] btrfs.h
[edit]
[-] gpio.h
[edit]
[-] mdio.h
[edit]
[-] napi.h
[edit]
[-] mmc.h
[edit]
[-] lock.h
[edit]
[-] nmi.h
[edit]
[-] tcp.h
[edit]
[-] mptcp.h
[edit]
[-] kmem.h
[edit]
[-] ext4.h
[edit]
[-] regulator.h
[edit]
[-] fsi_master_ast_cf.h
[edit]
[-] mmap_lock.h
[edit]
[-] pwc.h
[edit]
[-] maple_tree.h
[edit]
[-] qrtr.h
[edit]
[-] pagemap.h
[edit]
[-] vb2.h
[edit]
[-] udp.h
[edit]
[-] signal.h
[edit]
[-] kvm.h
[edit]
[-] handshake.h
[edit]
[-] context_tracking.h
[edit]
[-] vsock_virtio_transport_common.h
[edit]
[-] alarmtimer.h
[edit]
[-] ipi.h
[edit]
[-] task.h
[edit]
[-] objagg.h
[edit]
[-] filemap.h
[edit]
[-] erofs.h
[edit]
[-] sunrpc.h
[edit]
[-] thp.h
[edit]
[-] rpcgss.h
[edit]
[-] initcall.h
[edit]
[-] bcache.h
[edit]
[-] net.h
[edit]
[-] csd.h
[edit]
[-] tlb.h
[edit]
[-] power_cpu_migrate.h
[edit]
[-] error_report.h
[edit]
[-] intel_ish.h
[edit]
[+]
..
[-] sched.h
[edit]
[-] host1x.h
[edit]
[-] hwmon.h
[edit]