-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathpageset_trace.h
More file actions
68 lines (59 loc) · 1.66 KB
/
pageset_trace.h
File metadata and controls
68 lines (59 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
* Copyright 2024 Morse Micro
*/
#ifndef _MORSE_PAGESET_TRACE_H_
#define _MORSE_PAGESET_TRACE_H_
#include <linux/types.h>
#include <linux/ktime.h>
enum pageset_trace_event_id {
PAGESET_TRACE_EVENT_ID_INIT,
PAGESET_TRACE_EVENT_ID_CACHE_PUT_PAGES,
PAGESET_TRACE_EVENT_ID_POP_PAGE,
PAGESET_TRACE_EVENT_ID_CACHE_GET,
PAGESET_TRACE_EVENT_ID_PUT_PAGE,
PAGESET_TRACE_EVENT_ID_STORE_PAGE_BULK,
PAGESET_TRACE_EVENT_ID_NOTIFY,
PAGESET_TRACE_EVENT_ID_WRITE_PAGE,
PAGESET_TRACE_EVENT_ID_READ_PAGE,
};
#ifdef CONFIG_MORSE_PAGESET_TRACE
struct pageset_trace_event {
ktime_t ts;
u32 flags;
enum pageset_trace_event_id id;
unsigned int argument;
};
struct pageset_trace {
unsigned int trace_index;
struct pageset_trace_event events[PAGESET_TRACE_DEPTH];
};
struct morse_pageset;
struct morse_pager;
/**
* pageset_trace_init() - Initialise a pageset's trace event log.
*
* @pageset: The pageset to initialise.
*/
void pageset_trace_init(struct morse_pageset *pageset);
/**
* pageset_trace_log() - Log a trace event on the given pager.
*
* @pager: The pager/pageset to log the event on.
* @id: Event trace id.
* @argument: Additional argument to supply.
*/
void pageset_trace_log(const struct morse_pager *pager, enum pageset_trace_event_id id,
unsigned int argument);
/**
* pageset_trace_dump() - Print trace event log.
*
* @pageset: The pageset that contains the trace event log to dump.
* @reference: Current kernel boot time reference.
*/
void pageset_trace_dump(const struct morse_pageset *pageset, ktime_t reference);
#else
#define pageset_trace_init(...)
#define pageset_trace_log(...)
#define pageset_trace_dump(...)
#endif
#endif /* _MORSE_PAGESET_TRACE_H_ */