include/trace/events/thp.h
Source file repositories/reference/linux-study-clean/include/trace/events/thp.h
File Facts
- System
- Linux kernel
- Corpus path
include/trace/events/thp.h- Extension
.h- Size
- 2605 bytes
- Lines
- 103
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
Dependency Surface
linux/types.hlinux/tracepoint.htrace/define_trace.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#undef TRACE_SYSTEM
#define TRACE_SYSTEM thp
#if !defined(_TRACE_THP_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_THP_H
#include <linux/types.h>
#include <linux/tracepoint.h>
#ifdef CONFIG_PPC_BOOK3S_64
DECLARE_EVENT_CLASS(hugepage_set,
TP_PROTO(unsigned long addr, unsigned long pte),
TP_ARGS(addr, pte),
TP_STRUCT__entry(
__field(unsigned long, addr)
__field(unsigned long, pte)
),
TP_fast_assign(
__entry->addr = addr;
__entry->pte = pte;
),
TP_printk("Set page table entry with 0x%lx with 0x%lx", __entry->addr, __entry->pte)
);
DEFINE_EVENT(hugepage_set, hugepage_set_pmd,
TP_PROTO(unsigned long addr, unsigned long pmd),
TP_ARGS(addr, pmd)
);
DEFINE_EVENT(hugepage_set, hugepage_set_pud,
TP_PROTO(unsigned long addr, unsigned long pud),
TP_ARGS(addr, pud)
);
DECLARE_EVENT_CLASS(hugepage_update,
TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set),
TP_ARGS(addr, pte, clr, set),
TP_STRUCT__entry(
__field(unsigned long, addr)
__field(unsigned long, pte)
__field(unsigned long, clr)
__field(unsigned long, set)
),
TP_fast_assign(
__entry->addr = addr;
__entry->pte = pte;
__entry->clr = clr;
__entry->set = set;
),
TP_printk("hugepage update at addr 0x%lx and pte = 0x%lx clr = 0x%lx, set = 0x%lx", __entry->addr, __entry->pte, __entry->clr, __entry->set)
);
DEFINE_EVENT(hugepage_update, hugepage_update_pmd,
TP_PROTO(unsigned long addr, unsigned long pmd, unsigned long clr, unsigned long set),
TP_ARGS(addr, pmd, clr, set)
);
DEFINE_EVENT(hugepage_update, hugepage_update_pud,
TP_PROTO(unsigned long addr, unsigned long pud, unsigned long clr, unsigned long set),
TP_ARGS(addr, pud, clr, set)
);
#endif /* CONFIG_PPC_BOOK3S_64 */
DECLARE_EVENT_CLASS(migration_pmd,
TP_PROTO(unsigned long addr, unsigned long pmd),
TP_ARGS(addr, pmd),
TP_STRUCT__entry(
__field(unsigned long, addr)
__field(unsigned long, pmd)
),
TP_fast_assign(
__entry->addr = addr;
__entry->pmd = pmd;
),
TP_printk("addr=%lx, pmd=%lx", __entry->addr, __entry->pmd)
);
DEFINE_EVENT(migration_pmd, set_migration_pmd,
TP_PROTO(unsigned long addr, unsigned long pmd),
Annotation
- Immediate include surface: `linux/types.h`, `linux/tracepoint.h`, `trace/define_trace.h`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.