~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/trace/events/pagemap.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #undef TRACE_SYSTEM
  3 #define TRACE_SYSTEM pagemap
  4 
  5 #if !defined(_TRACE_PAGEMAP_H) || defined(TRACE_HEADER_MULTI_READ)
  6 #define _TRACE_PAGEMAP_H
  7 
  8 #include <linux/tracepoint.h>
  9 #include <linux/mm.h>
 10 
 11 #define PAGEMAP_MAPPED          0x0001u
 12 #define PAGEMAP_ANONYMOUS       0x0002u
 13 #define PAGEMAP_FILE            0x0004u
 14 #define PAGEMAP_SWAPCACHE       0x0008u
 15 #define PAGEMAP_SWAPBACKED      0x0010u
 16 #define PAGEMAP_MAPPEDDISK      0x0020u
 17 #define PAGEMAP_BUFFERS         0x0040u
 18 
 19 #define trace_pagemap_flags(folio) ( \
 20         (folio_test_anon(folio)         ? PAGEMAP_ANONYMOUS  : PAGEMAP_FILE) | \
 21         (folio_mapped(folio)            ? PAGEMAP_MAPPED     : 0) | \
 22         (folio_test_swapcache(folio)    ? PAGEMAP_SWAPCACHE  : 0) | \
 23         (folio_test_swapbacked(folio)   ? PAGEMAP_SWAPBACKED : 0) | \
 24         (folio_test_mappedtodisk(folio) ? PAGEMAP_MAPPEDDISK : 0) | \
 25         (folio_test_private(folio)      ? PAGEMAP_BUFFERS    : 0) \
 26         )
 27 
 28 TRACE_EVENT(mm_lru_insertion,
 29 
 30         TP_PROTO(struct folio *folio),
 31 
 32         TP_ARGS(folio),
 33 
 34         TP_STRUCT__entry(
 35                 __field(struct folio *, folio   )
 36                 __field(unsigned long,  pfn     )
 37                 __field(enum lru_list,  lru     )
 38                 __field(unsigned long,  flags   )
 39         ),
 40 
 41         TP_fast_assign(
 42                 __entry->folio  = folio;
 43                 __entry->pfn    = folio_pfn(folio);
 44                 __entry->lru    = folio_lru_list(folio);
 45                 __entry->flags  = trace_pagemap_flags(folio);
 46         ),
 47 
 48         /* Flag format is based on page-types.c formatting for pagemap */
 49         TP_printk("folio=%p pfn=0x%lx lru=%d flags=%s%s%s%s%s%s",
 50                         __entry->folio,
 51                         __entry->pfn,
 52                         __entry->lru,
 53                         __entry->flags & PAGEMAP_MAPPED         ? "M" : " ",
 54                         __entry->flags & PAGEMAP_ANONYMOUS      ? "a" : "f",
 55                         __entry->flags & PAGEMAP_SWAPCACHE      ? "s" : " ",
 56                         __entry->flags & PAGEMAP_SWAPBACKED     ? "b" : " ",
 57                         __entry->flags & PAGEMAP_MAPPEDDISK     ? "d" : " ",
 58                         __entry->flags & PAGEMAP_BUFFERS        ? "B" : " ")
 59 );
 60 
 61 TRACE_EVENT(mm_lru_activate,
 62 
 63         TP_PROTO(struct folio *folio),
 64 
 65         TP_ARGS(folio),
 66 
 67         TP_STRUCT__entry(
 68                 __field(struct folio *, folio   )
 69                 __field(unsigned long,  pfn     )
 70         ),
 71 
 72         TP_fast_assign(
 73                 __entry->folio  = folio;
 74                 __entry->pfn    = folio_pfn(folio);
 75         ),
 76 
 77         TP_printk("folio=%p pfn=0x%lx", __entry->folio, __entry->pfn)
 78 );
 79 
 80 #endif /* _TRACE_PAGEMAP_H */
 81 
 82 /* This part must be outside protection */
 83 #include <trace/define_trace.h>
 84 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php