xref: /aosp_15_r20/test/dittosuite/example/priority_inversion_fifo.ditto (revision 6fa2df46f119dce7527f5beb2814eca0e6f886ac)
1*6fa2df46SAndroid Build Coastguard Workermain: {
2*6fa2df46SAndroid Build Coastguard Worker  multithreading: {
3*6fa2df46SAndroid Build Coastguard Worker    threads: [
4*6fa2df46SAndroid Build Coastguard Worker      {
5*6fa2df46SAndroid Build Coastguard Worker        name: "High"
6*6fa2df46SAndroid Build Coastguard Worker        instruction: {
7*6fa2df46SAndroid Build Coastguard Worker          instruction_set: {
8*6fa2df46SAndroid Build Coastguard Worker            instructions: [
9*6fa2df46SAndroid Build Coastguard Worker              {
10*6fa2df46SAndroid Build Coastguard Worker                lock: {
11*6fa2df46SAndroid Build Coastguard Worker                  mutex { name: "lock1" }
12*6fa2df46SAndroid Build Coastguard Worker                }
13*6fa2df46SAndroid Build Coastguard Worker              },
14*6fa2df46SAndroid Build Coastguard Worker              {
15*6fa2df46SAndroid Build Coastguard Worker                cpu_work: {
16*6fa2df46SAndroid Build Coastguard Worker                  duration_us: 2000
17*6fa2df46SAndroid Build Coastguard Worker                }
18*6fa2df46SAndroid Build Coastguard Worker              },
19*6fa2df46SAndroid Build Coastguard Worker              {
20*6fa2df46SAndroid Build Coastguard Worker                unlock: {
21*6fa2df46SAndroid Build Coastguard Worker                  mutex { name: "lock1" }
22*6fa2df46SAndroid Build Coastguard Worker                }
23*6fa2df46SAndroid Build Coastguard Worker              }
24*6fa2df46SAndroid Build Coastguard Worker            ]
25*6fa2df46SAndroid Build Coastguard Worker          }
26*6fa2df46SAndroid Build Coastguard Worker          repeat: 100
27*6fa2df46SAndroid Build Coastguard Worker          period_us: 50000
28*6fa2df46SAndroid Build Coastguard Worker          offset_us: 1000
29*6fa2df46SAndroid Build Coastguard Worker        }
30*6fa2df46SAndroid Build Coastguard Worker        sched_affinity: 1
31*6fa2df46SAndroid Build Coastguard Worker        sched_attr: {
32*6fa2df46SAndroid Build Coastguard Worker          rt: {
33*6fa2df46SAndroid Build Coastguard Worker            policy: FIFO
34*6fa2df46SAndroid Build Coastguard Worker            priority: 99
35*6fa2df46SAndroid Build Coastguard Worker          }
36*6fa2df46SAndroid Build Coastguard Worker        }
37*6fa2df46SAndroid Build Coastguard Worker      },
38*6fa2df46SAndroid Build Coastguard Worker      {
39*6fa2df46SAndroid Build Coastguard Worker        name: "Mid"
40*6fa2df46SAndroid Build Coastguard Worker        instruction: {
41*6fa2df46SAndroid Build Coastguard Worker          instruction_set: {
42*6fa2df46SAndroid Build Coastguard Worker            instructions: [
43*6fa2df46SAndroid Build Coastguard Worker              {
44*6fa2df46SAndroid Build Coastguard Worker                cpu_work: {
45*6fa2df46SAndroid Build Coastguard Worker                  duration_us: 10000
46*6fa2df46SAndroid Build Coastguard Worker                }
47*6fa2df46SAndroid Build Coastguard Worker              }
48*6fa2df46SAndroid Build Coastguard Worker            ]
49*6fa2df46SAndroid Build Coastguard Worker          }
50*6fa2df46SAndroid Build Coastguard Worker          repeat: 100
51*6fa2df46SAndroid Build Coastguard Worker          period_us: 30000
52*6fa2df46SAndroid Build Coastguard Worker          offset_us: 1500
53*6fa2df46SAndroid Build Coastguard Worker        }
54*6fa2df46SAndroid Build Coastguard Worker        sched_affinity: 1
55*6fa2df46SAndroid Build Coastguard Worker        sched_attr: {
56*6fa2df46SAndroid Build Coastguard Worker          rt: {
57*6fa2df46SAndroid Build Coastguard Worker            policy: FIFO
58*6fa2df46SAndroid Build Coastguard Worker            priority: 98
59*6fa2df46SAndroid Build Coastguard Worker          }
60*6fa2df46SAndroid Build Coastguard Worker        }
61*6fa2df46SAndroid Build Coastguard Worker      },
62*6fa2df46SAndroid Build Coastguard Worker      {
63*6fa2df46SAndroid Build Coastguard Worker        name: "Low"
64*6fa2df46SAndroid Build Coastguard Worker        instruction: {
65*6fa2df46SAndroid Build Coastguard Worker          instruction_set: {
66*6fa2df46SAndroid Build Coastguard Worker            instructions: [
67*6fa2df46SAndroid Build Coastguard Worker              {
68*6fa2df46SAndroid Build Coastguard Worker                lock: {
69*6fa2df46SAndroid Build Coastguard Worker                  mutex { name: "lock1" }
70*6fa2df46SAndroid Build Coastguard Worker                }
71*6fa2df46SAndroid Build Coastguard Worker              },
72*6fa2df46SAndroid Build Coastguard Worker              {
73*6fa2df46SAndroid Build Coastguard Worker                cpu_work: {
74*6fa2df46SAndroid Build Coastguard Worker                  duration_us: 5000
75*6fa2df46SAndroid Build Coastguard Worker                }
76*6fa2df46SAndroid Build Coastguard Worker              },
77*6fa2df46SAndroid Build Coastguard Worker              {
78*6fa2df46SAndroid Build Coastguard Worker                unlock: {
79*6fa2df46SAndroid Build Coastguard Worker                  mutex { name: "lock1" }
80*6fa2df46SAndroid Build Coastguard Worker                }
81*6fa2df46SAndroid Build Coastguard Worker              }
82*6fa2df46SAndroid Build Coastguard Worker            ]
83*6fa2df46SAndroid Build Coastguard Worker          }
84*6fa2df46SAndroid Build Coastguard Worker          repeat: 100
85*6fa2df46SAndroid Build Coastguard Worker          period_us: 20000
86*6fa2df46SAndroid Build Coastguard Worker          offset_us: 0
87*6fa2df46SAndroid Build Coastguard Worker        }
88*6fa2df46SAndroid Build Coastguard Worker        sched_affinity: 1
89*6fa2df46SAndroid Build Coastguard Worker        sched_attr: {
90*6fa2df46SAndroid Build Coastguard Worker          rt: {
91*6fa2df46SAndroid Build Coastguard Worker            policy: FIFO
92*6fa2df46SAndroid Build Coastguard Worker            priority: 97
93*6fa2df46SAndroid Build Coastguard Worker          }
94*6fa2df46SAndroid Build Coastguard Worker        }
95*6fa2df46SAndroid Build Coastguard Worker      }
96*6fa2df46SAndroid Build Coastguard Worker    ]
97*6fa2df46SAndroid Build Coastguard Worker  }
98*6fa2df46SAndroid Build Coastguard Worker}
99*6fa2df46SAndroid Build Coastguard Workerglobal: {
100*6fa2df46SAndroid Build Coastguard Worker  mutex { name: "lock1" }
101*6fa2df46SAndroid Build Coastguard Worker}
102