xref: /aosp_15_r20/external/bcc/libbpf-tools/biotop.h (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
2*387f9dfdSAndroid Build Coastguard Worker #ifndef __BIOTOP_H
3*387f9dfdSAndroid Build Coastguard Worker #define __BIOTOP_H
4*387f9dfdSAndroid Build Coastguard Worker 
5*387f9dfdSAndroid Build Coastguard Worker #define REQ_OP_BITS 8
6*387f9dfdSAndroid Build Coastguard Worker #define REQ_OP_MASK ((1 << REQ_OP_BITS) - 1)
7*387f9dfdSAndroid Build Coastguard Worker 
8*387f9dfdSAndroid Build Coastguard Worker #define TASK_COMM_LEN 16
9*387f9dfdSAndroid Build Coastguard Worker 
10*387f9dfdSAndroid Build Coastguard Worker /* for saving the timestamp and __data_len of each request */
11*387f9dfdSAndroid Build Coastguard Worker struct start_req_t {
12*387f9dfdSAndroid Build Coastguard Worker 	__u64 ts;
13*387f9dfdSAndroid Build Coastguard Worker 	__u64 data_len;
14*387f9dfdSAndroid Build Coastguard Worker };
15*387f9dfdSAndroid Build Coastguard Worker 
16*387f9dfdSAndroid Build Coastguard Worker /* for saving process info by request */
17*387f9dfdSAndroid Build Coastguard Worker struct who_t {
18*387f9dfdSAndroid Build Coastguard Worker 	__u32 pid;
19*387f9dfdSAndroid Build Coastguard Worker 	char name[TASK_COMM_LEN];
20*387f9dfdSAndroid Build Coastguard Worker };
21*387f9dfdSAndroid Build Coastguard Worker 
22*387f9dfdSAndroid Build Coastguard Worker /* the key for the output summary */
23*387f9dfdSAndroid Build Coastguard Worker struct info_t {
24*387f9dfdSAndroid Build Coastguard Worker 	__u32 pid;
25*387f9dfdSAndroid Build Coastguard Worker 	int rwflag;
26*387f9dfdSAndroid Build Coastguard Worker 	int major;
27*387f9dfdSAndroid Build Coastguard Worker 	int minor;
28*387f9dfdSAndroid Build Coastguard Worker 	char name[TASK_COMM_LEN];
29*387f9dfdSAndroid Build Coastguard Worker };
30*387f9dfdSAndroid Build Coastguard Worker 
31*387f9dfdSAndroid Build Coastguard Worker /* the value of the output summary */
32*387f9dfdSAndroid Build Coastguard Worker struct val_t {
33*387f9dfdSAndroid Build Coastguard Worker 	__u64 bytes;
34*387f9dfdSAndroid Build Coastguard Worker 	__u64 us;
35*387f9dfdSAndroid Build Coastguard Worker 	__u32 io;
36*387f9dfdSAndroid Build Coastguard Worker };
37*387f9dfdSAndroid Build Coastguard Worker 
38*387f9dfdSAndroid Build Coastguard Worker #endif /* __BIOTOP_H */
39