xref: /aosp_15_r20/test/dittosuite/schema/benchmark.proto (revision 6fa2df46f119dce7527f5beb2814eca0e6f886ac)
1*6fa2df46SAndroid Build Coastguard Workersyntax = "proto2";
2*6fa2df46SAndroid Build Coastguard Worker
3*6fa2df46SAndroid Build Coastguard Workerpackage dittosuiteproto;
4*6fa2df46SAndroid Build Coastguard Worker
5*6fa2df46SAndroid Build Coastguard Workerenum Order {
6*6fa2df46SAndroid Build Coastguard Worker  SEQUENTIAL = 0;
7*6fa2df46SAndroid Build Coastguard Worker  RANDOM = 1;
8*6fa2df46SAndroid Build Coastguard Worker}
9*6fa2df46SAndroid Build Coastguard Worker
10*6fa2df46SAndroid Build Coastguard Workerenum Reseeding {
11*6fa2df46SAndroid Build Coastguard Worker  ONCE = 0;
12*6fa2df46SAndroid Build Coastguard Worker  EACH_ROUND_OF_CYCLES = 1;
13*6fa2df46SAndroid Build Coastguard Worker  EACH_CYCLE = 2;
14*6fa2df46SAndroid Build Coastguard Worker}
15*6fa2df46SAndroid Build Coastguard Worker
16*6fa2df46SAndroid Build Coastguard Workerenum AccessMode {
17*6fa2df46SAndroid Build Coastguard Worker  READ_ONLY = 1;
18*6fa2df46SAndroid Build Coastguard Worker  WRITE_ONLY = 2;
19*6fa2df46SAndroid Build Coastguard Worker  READ_WRITE = 3;
20*6fa2df46SAndroid Build Coastguard Worker}
21*6fa2df46SAndroid Build Coastguard Worker
22*6fa2df46SAndroid Build Coastguard Workerenum FreePolicy {
23*6fa2df46SAndroid Build Coastguard Worker  FREE_POLICY_UNSPECIFIED = 0;
24*6fa2df46SAndroid Build Coastguard Worker  FREE_POLICY_EVERY_PERIOD = 1;
25*6fa2df46SAndroid Build Coastguard Worker  FREE_POLICY_LAST_PERIOD = 2;
26*6fa2df46SAndroid Build Coastguard Worker  FREE_POLICY_KEEP = 3;
27*6fa2df46SAndroid Build Coastguard Worker}
28*6fa2df46SAndroid Build Coastguard Worker
29*6fa2df46SAndroid Build Coastguard Workermessage MemoryAllocate {
30*6fa2df46SAndroid Build Coastguard Worker  optional uint64 size = 1;
31*6fa2df46SAndroid Build Coastguard Worker  optional FreePolicy free_policy = 2 [default = FREE_POLICY_KEEP];
32*6fa2df46SAndroid Build Coastguard Worker}
33*6fa2df46SAndroid Build Coastguard Worker
34*6fa2df46SAndroid Build Coastguard Workermessage CpuWork {
35*6fa2df46SAndroid Build Coastguard Worker  oneof type {
36*6fa2df46SAndroid Build Coastguard Worker    uint64 cycles = 1;
37*6fa2df46SAndroid Build Coastguard Worker    double utilization = 2;
38*6fa2df46SAndroid Build Coastguard Worker    uint64 duration_us = 3;
39*6fa2df46SAndroid Build Coastguard Worker  }
40*6fa2df46SAndroid Build Coastguard Worker}
41*6fa2df46SAndroid Build Coastguard Worker
42*6fa2df46SAndroid Build Coastguard Workermessage BinderService {
43*6fa2df46SAndroid Build Coastguard Worker  optional string name = 1;
44*6fa2df46SAndroid Build Coastguard Worker  optional uint32 threads = 2;
45*6fa2df46SAndroid Build Coastguard Worker}
46*6fa2df46SAndroid Build Coastguard Worker
47*6fa2df46SAndroid Build Coastguard Workermessage BinderRequest {
48*6fa2df46SAndroid Build Coastguard Worker  enum RunningService {
49*6fa2df46SAndroid Build Coastguard Worker    MOUNT_SERVICE = 0;
50*6fa2df46SAndroid Build Coastguard Worker  };
51*6fa2df46SAndroid Build Coastguard Worker  message GenericService {
52*6fa2df46SAndroid Build Coastguard Worker    message ParcelInput {
53*6fa2df46SAndroid Build Coastguard Worker      message NestedParcel {
54*6fa2df46SAndroid Build Coastguard Worker        repeated ParcelInput parcel_inputs = 1;
55*6fa2df46SAndroid Build Coastguard Worker      }
56*6fa2df46SAndroid Build Coastguard Worker      enum Type {
57*6fa2df46SAndroid Build Coastguard Worker        // Write the 32-bit integer into the send parcel.
58*6fa2df46SAndroid Build Coastguard Worker        I32 = 0;
59*6fa2df46SAndroid Build Coastguard Worker        // Write the 64-bit integer into the send parcel.
60*6fa2df46SAndroid Build Coastguard Worker        I64 = 1;
61*6fa2df46SAndroid Build Coastguard Worker        // Write the UTF-16 string STR  into the send parcel.
62*6fa2df46SAndroid Build Coastguard Worker        STRING_16 = 2;
63*6fa2df46SAndroid Build Coastguard Worker        // Write the 32-bit single-precision number into the send parcel.
64*6fa2df46SAndroid Build Coastguard Worker        F = 3;
65*6fa2df46SAndroid Build Coastguard Worker        // Write the 64-bit double-precision number into the send parcel.
66*6fa2df46SAndroid Build Coastguard Worker        D = 4;
67*6fa2df46SAndroid Build Coastguard Worker        // Write a null binder into the send parcel.
68*6fa2df46SAndroid Build Coastguard Worker        NULL = 5;
69*6fa2df46SAndroid Build Coastguard Worker        // Data: File name
70*6fa2df46SAndroid Build Coastguard Worker        // Write a file descriptor for the file with given path into the send
71*6fa2df46SAndroid Build Coastguard Worker        // parcel.
72*6fa2df46SAndroid Build Coastguard Worker        FD_PATH = 6;
73*6fa2df46SAndroid Build Coastguard Worker        // Data: File name
74*6fa2df46SAndroid Build Coastguard Worker        // Write an ashmem file descriptor for a region containing the data
75*6fa2df46SAndroid Build Coastguard Worker        // from file the given path into the send parcel.
76*6fa2df46SAndroid Build Coastguard Worker        ASHMEM_FD_PATH = 7;
77*6fa2df46SAndroid Build Coastguard Worker        // Data: FD number
78*6fa2df46SAndroid Build Coastguard Worker        // Write the file descriptor into the send parcel.
79*6fa2df46SAndroid Build Coastguard Worker        FD = 8;
80*6fa2df46SAndroid Build Coastguard Worker        // Parcel input that is nested inside.
81*6fa2df46SAndroid Build Coastguard Worker        PARCEL = 9;
82*6fa2df46SAndroid Build Coastguard Worker      }
83*6fa2df46SAndroid Build Coastguard Worker      optional Type type = 1;
84*6fa2df46SAndroid Build Coastguard Worker      oneof data_oneof {
85*6fa2df46SAndroid Build Coastguard Worker        string data = 2;
86*6fa2df46SAndroid Build Coastguard Worker        NestedParcel nested_parcel = 3;
87*6fa2df46SAndroid Build Coastguard Worker      }
88*6fa2df46SAndroid Build Coastguard Worker    }
89*6fa2df46SAndroid Build Coastguard Worker    optional string name = 1;
90*6fa2df46SAndroid Build Coastguard Worker    optional int32 code = 2;
91*6fa2df46SAndroid Build Coastguard Worker    repeated ParcelInput parcel_input = 3;
92*6fa2df46SAndroid Build Coastguard Worker  }
93*6fa2df46SAndroid Build Coastguard Worker  oneof service_oneof {
94*6fa2df46SAndroid Build Coastguard Worker    string service_name = 1;
95*6fa2df46SAndroid Build Coastguard Worker    RunningService running_service = 2;
96*6fa2df46SAndroid Build Coastguard Worker    GenericService generic_service = 3;
97*6fa2df46SAndroid Build Coastguard Worker  }
98*6fa2df46SAndroid Build Coastguard Worker}
99*6fa2df46SAndroid Build Coastguard Worker
100*6fa2df46SAndroid Build Coastguard Workermessage OpenFile {
101*6fa2df46SAndroid Build Coastguard Worker  oneof file {
102*6fa2df46SAndroid Build Coastguard Worker    string path_name = 1;
103*6fa2df46SAndroid Build Coastguard Worker    string input = 2;
104*6fa2df46SAndroid Build Coastguard Worker  }
105*6fa2df46SAndroid Build Coastguard Worker  optional string output_fd = 3;
106*6fa2df46SAndroid Build Coastguard Worker  optional bool create = 4 [default = true];
107*6fa2df46SAndroid Build Coastguard Worker  optional bool direct_io = 5 [default = false];
108*6fa2df46SAndroid Build Coastguard Worker  optional AccessMode access_mode = 6 [default = READ_WRITE];
109*6fa2df46SAndroid Build Coastguard Worker}
110*6fa2df46SAndroid Build Coastguard Worker
111*6fa2df46SAndroid Build Coastguard Workermessage DeleteFile {
112*6fa2df46SAndroid Build Coastguard Worker  oneof file {
113*6fa2df46SAndroid Build Coastguard Worker    string path_name = 1;
114*6fa2df46SAndroid Build Coastguard Worker    string input = 2;
115*6fa2df46SAndroid Build Coastguard Worker  }
116*6fa2df46SAndroid Build Coastguard Worker}
117*6fa2df46SAndroid Build Coastguard Worker
118*6fa2df46SAndroid Build Coastguard Workermessage CloseFile {
119*6fa2df46SAndroid Build Coastguard Worker  required string input_fd = 1;
120*6fa2df46SAndroid Build Coastguard Worker}
121*6fa2df46SAndroid Build Coastguard Worker
122*6fa2df46SAndroid Build Coastguard Workermessage ResizeFile {
123*6fa2df46SAndroid Build Coastguard Worker  required string input_fd = 1;
124*6fa2df46SAndroid Build Coastguard Worker  required int64 size = 2;
125*6fa2df46SAndroid Build Coastguard Worker}
126*6fa2df46SAndroid Build Coastguard Worker
127*6fa2df46SAndroid Build Coastguard Workermessage ResizeFileRandom {
128*6fa2df46SAndroid Build Coastguard Worker  required string input_fd = 1;
129*6fa2df46SAndroid Build Coastguard Worker  required int64 min = 2;
130*6fa2df46SAndroid Build Coastguard Worker  required int64 max = 3;
131*6fa2df46SAndroid Build Coastguard Worker  optional uint32 seed = 4;
132*6fa2df46SAndroid Build Coastguard Worker  optional Reseeding reseeding = 5 [default = ONCE];
133*6fa2df46SAndroid Build Coastguard Worker}
134*6fa2df46SAndroid Build Coastguard Worker
135*6fa2df46SAndroid Build Coastguard Workermessage WriteFile {
136*6fa2df46SAndroid Build Coastguard Worker  required string input_fd = 1;
137*6fa2df46SAndroid Build Coastguard Worker  optional int64 size = 2 [default = -1];
138*6fa2df46SAndroid Build Coastguard Worker  optional int64 block_size = 3 [default = 4096];
139*6fa2df46SAndroid Build Coastguard Worker  optional int64 starting_offset = 4 [default = 0];
140*6fa2df46SAndroid Build Coastguard Worker  optional Order access_order = 5 [default = SEQUENTIAL];
141*6fa2df46SAndroid Build Coastguard Worker  optional uint32 seed = 6;
142*6fa2df46SAndroid Build Coastguard Worker  optional bool fsync = 7 [default = false];
143*6fa2df46SAndroid Build Coastguard Worker  optional Reseeding reseeding = 8 [default = ONCE];
144*6fa2df46SAndroid Build Coastguard Worker}
145*6fa2df46SAndroid Build Coastguard Worker
146*6fa2df46SAndroid Build Coastguard Workermessage ReadFile {
147*6fa2df46SAndroid Build Coastguard Worker  enum ReadFAdvise {
148*6fa2df46SAndroid Build Coastguard Worker    AUTOMATIC = 0;
149*6fa2df46SAndroid Build Coastguard Worker    NORMAL = 1;
150*6fa2df46SAndroid Build Coastguard Worker    SEQUENTIAL = 2;
151*6fa2df46SAndroid Build Coastguard Worker    RANDOM = 3;
152*6fa2df46SAndroid Build Coastguard Worker  }
153*6fa2df46SAndroid Build Coastguard Worker  required string input_fd = 1;
154*6fa2df46SAndroid Build Coastguard Worker  optional int64 size = 2 [default = -1];
155*6fa2df46SAndroid Build Coastguard Worker  optional int64 block_size = 3 [default = 4096];
156*6fa2df46SAndroid Build Coastguard Worker  optional int64 starting_offset = 4 [default = 0];
157*6fa2df46SAndroid Build Coastguard Worker  optional Order access_order = 5 [default = SEQUENTIAL];
158*6fa2df46SAndroid Build Coastguard Worker  optional uint32 seed = 6;
159*6fa2df46SAndroid Build Coastguard Worker  optional ReadFAdvise fadvise = 7 [default = AUTOMATIC];
160*6fa2df46SAndroid Build Coastguard Worker  optional Reseeding reseeding = 8 [default = ONCE];
161*6fa2df46SAndroid Build Coastguard Worker}
162*6fa2df46SAndroid Build Coastguard Worker
163*6fa2df46SAndroid Build Coastguard Workermessage ReadDirectory {
164*6fa2df46SAndroid Build Coastguard Worker  required string directory_name = 1;
165*6fa2df46SAndroid Build Coastguard Worker  required string output = 2;
166*6fa2df46SAndroid Build Coastguard Worker}
167*6fa2df46SAndroid Build Coastguard Worker
168*6fa2df46SAndroid Build Coastguard Workermessage Mutex {
169*6fa2df46SAndroid Build Coastguard Worker  optional string name = 1;
170*6fa2df46SAndroid Build Coastguard Worker}
171*6fa2df46SAndroid Build Coastguard Worker
172*6fa2df46SAndroid Build Coastguard Workermessage Lock {
173*6fa2df46SAndroid Build Coastguard Worker  optional Mutex mutex = 1;
174*6fa2df46SAndroid Build Coastguard Worker}
175*6fa2df46SAndroid Build Coastguard Worker
176*6fa2df46SAndroid Build Coastguard Workermessage Unlock {
177*6fa2df46SAndroid Build Coastguard Worker  optional Mutex mutex = 1;
178*6fa2df46SAndroid Build Coastguard Worker}
179*6fa2df46SAndroid Build Coastguard Worker
180*6fa2df46SAndroid Build Coastguard Workermessage Thread {
181*6fa2df46SAndroid Build Coastguard Worker  required Instruction instruction = 1;
182*6fa2df46SAndroid Build Coastguard Worker  optional int32 spawn = 2 [default = 1];
183*6fa2df46SAndroid Build Coastguard Worker  optional string name = 3;
184*6fa2df46SAndroid Build Coastguard Worker  optional SchedAttr sched_attr = 4;
185*6fa2df46SAndroid Build Coastguard Worker  optional int64 sched_affinity = 5 [default = -1];
186*6fa2df46SAndroid Build Coastguard Worker}
187*6fa2df46SAndroid Build Coastguard Worker
188*6fa2df46SAndroid Build Coastguard Workermessage SchedAttr {
189*6fa2df46SAndroid Build Coastguard Worker  message SchedOther {
190*6fa2df46SAndroid Build Coastguard Worker    enum SchedPolicy {
191*6fa2df46SAndroid Build Coastguard Worker      OTHER = 1;
192*6fa2df46SAndroid Build Coastguard Worker      BATCH = 2;
193*6fa2df46SAndroid Build Coastguard Worker    }
194*6fa2df46SAndroid Build Coastguard Worker    required SchedPolicy policy = 1;
195*6fa2df46SAndroid Build Coastguard Worker    optional int32 nice = 2 [default = 10];
196*6fa2df46SAndroid Build Coastguard Worker  }
197*6fa2df46SAndroid Build Coastguard Worker  message SchedRt {
198*6fa2df46SAndroid Build Coastguard Worker    enum SchedPolicy {
199*6fa2df46SAndroid Build Coastguard Worker      FIFO = 1;
200*6fa2df46SAndroid Build Coastguard Worker      RR = 2;
201*6fa2df46SAndroid Build Coastguard Worker    }
202*6fa2df46SAndroid Build Coastguard Worker    required SchedPolicy policy = 1;
203*6fa2df46SAndroid Build Coastguard Worker    required uint32 priority = 2;
204*6fa2df46SAndroid Build Coastguard Worker  }
205*6fa2df46SAndroid Build Coastguard Worker  message SchedDeadline {
206*6fa2df46SAndroid Build Coastguard Worker    enum SchedPolicy {
207*6fa2df46SAndroid Build Coastguard Worker      DEADLINE = 1;
208*6fa2df46SAndroid Build Coastguard Worker    }
209*6fa2df46SAndroid Build Coastguard Worker    required SchedPolicy policy = 1;
210*6fa2df46SAndroid Build Coastguard Worker    required uint64 runtime = 2;
211*6fa2df46SAndroid Build Coastguard Worker    required uint64 deadline = 3;
212*6fa2df46SAndroid Build Coastguard Worker    required uint64 period = 4;
213*6fa2df46SAndroid Build Coastguard Worker  }
214*6fa2df46SAndroid Build Coastguard Worker
215*6fa2df46SAndroid Build Coastguard Worker  optional uint64 flags = 1 [default = 0];
216*6fa2df46SAndroid Build Coastguard Worker  oneof attributes {
217*6fa2df46SAndroid Build Coastguard Worker    SchedOther other = 2;
218*6fa2df46SAndroid Build Coastguard Worker    SchedRt rt = 3;
219*6fa2df46SAndroid Build Coastguard Worker    SchedDeadline deadline = 4;
220*6fa2df46SAndroid Build Coastguard Worker  }
221*6fa2df46SAndroid Build Coastguard Worker}
222*6fa2df46SAndroid Build Coastguard Worker
223*6fa2df46SAndroid Build Coastguard Workermessage Multithreading {
224*6fa2df46SAndroid Build Coastguard Worker  repeated Thread threads = 1;
225*6fa2df46SAndroid Build Coastguard Worker  optional bool fork = 2 [default = false];
226*6fa2df46SAndroid Build Coastguard Worker}
227*6fa2df46SAndroid Build Coastguard Worker
228*6fa2df46SAndroid Build Coastguard Workermessage InvalidateCache {}
229*6fa2df46SAndroid Build Coastguard Worker
230*6fa2df46SAndroid Build Coastguard Workermessage Instruction {
231*6fa2df46SAndroid Build Coastguard Worker  optional int32 repeat = 1 [default = 1];
232*6fa2df46SAndroid Build Coastguard Worker  oneof instruction_oneof {
233*6fa2df46SAndroid Build Coastguard Worker    InstructionSet instruction_set = 2;
234*6fa2df46SAndroid Build Coastguard Worker    OpenFile open_file = 3;
235*6fa2df46SAndroid Build Coastguard Worker    DeleteFile delete_file = 4;
236*6fa2df46SAndroid Build Coastguard Worker    CloseFile close_file = 5;
237*6fa2df46SAndroid Build Coastguard Worker    ResizeFile resize_file = 6;
238*6fa2df46SAndroid Build Coastguard Worker    WriteFile write_file = 7;
239*6fa2df46SAndroid Build Coastguard Worker    ReadFile read_file = 8;
240*6fa2df46SAndroid Build Coastguard Worker    ReadDirectory read_directory = 9;
241*6fa2df46SAndroid Build Coastguard Worker    ResizeFileRandom resize_file_random = 10;
242*6fa2df46SAndroid Build Coastguard Worker    Multithreading multithreading = 11;
243*6fa2df46SAndroid Build Coastguard Worker    InvalidateCache invalidate_cache = 12;
244*6fa2df46SAndroid Build Coastguard Worker    BinderRequest binder_request = 13;
245*6fa2df46SAndroid Build Coastguard Worker    BinderService binder_service = 14;
246*6fa2df46SAndroid Build Coastguard Worker    CpuWork cpu_work = 16;
247*6fa2df46SAndroid Build Coastguard Worker    MemoryAllocate mem_alloc = 17;
248*6fa2df46SAndroid Build Coastguard Worker    Lock lock = 19;
249*6fa2df46SAndroid Build Coastguard Worker    Unlock unlock = 20;
250*6fa2df46SAndroid Build Coastguard Worker  };
251*6fa2df46SAndroid Build Coastguard Worker  optional uint64 period_us = 15 [default = 0];
252*6fa2df46SAndroid Build Coastguard Worker  optional uint64 offset_us = 18 [default = 0];
253*6fa2df46SAndroid Build Coastguard Worker}
254*6fa2df46SAndroid Build Coastguard Worker
255*6fa2df46SAndroid Build Coastguard Workermessage InstructionSet {
256*6fa2df46SAndroid Build Coastguard Worker  repeated Instruction instructions = 1;
257*6fa2df46SAndroid Build Coastguard Worker  optional InstructionSetIterate iterate_options = 2;
258*6fa2df46SAndroid Build Coastguard Worker}
259*6fa2df46SAndroid Build Coastguard Worker
260*6fa2df46SAndroid Build Coastguard Workermessage InstructionSetIterate {
261*6fa2df46SAndroid Build Coastguard Worker  required string list_name = 1;
262*6fa2df46SAndroid Build Coastguard Worker  required string item_name = 2;
263*6fa2df46SAndroid Build Coastguard Worker  optional Order access_order = 3 [default = SEQUENTIAL];
264*6fa2df46SAndroid Build Coastguard Worker  optional Reseeding reseeding = 4 [default = ONCE];
265*6fa2df46SAndroid Build Coastguard Worker  optional uint32 seed = 5;
266*6fa2df46SAndroid Build Coastguard Worker}
267*6fa2df46SAndroid Build Coastguard Worker
268*6fa2df46SAndroid Build Coastguard Workermessage Global {
269*6fa2df46SAndroid Build Coastguard Worker  optional string absolute_path = 1 [default = ""];
270*6fa2df46SAndroid Build Coastguard Worker  optional Mutex mutex = 2;
271*6fa2df46SAndroid Build Coastguard Worker}
272*6fa2df46SAndroid Build Coastguard Worker
273*6fa2df46SAndroid Build Coastguard Workermessage Benchmark {
274*6fa2df46SAndroid Build Coastguard Worker  optional Instruction init = 1;
275*6fa2df46SAndroid Build Coastguard Worker  required Instruction main = 2;
276*6fa2df46SAndroid Build Coastguard Worker  optional Instruction clean_up = 3;
277*6fa2df46SAndroid Build Coastguard Worker  required Global global = 4;
278*6fa2df46SAndroid Build Coastguard Worker}
279