{ "tasks": { "ThreadA": { "exec": 5000, "period": 24000, "priority": -19, "cpus": [ 0 ], "lock_order": [ "r0", "trig1" ], "resources": { "r0": { "duration": 1000 }, "trig1": { "duration": 0 } } }, "ThreadB": { "priority": -16, "phases": { "phase1": { "exec": 300, "period": 24000, "sleep": false, "loop": 1, "lock_order": [ "wait1", "r0", "trig2" ], "resources": { "wait1": { "duration": 0, "access": [ "trig1_mutex" ] }, "r0": { "duration": 300 }, "trig2": { "duration": 0 } } }, "phase2": { "exec": 4000, "period": 24000, "loop": 2, "sleep": false, "lock_order": [ "wait1", "r0", "trig2" ], "resources": { "wait1": { "duration": 0, "access": [ "trig1_mutex" ] }, "r0": { "duration": 300 }, "trig2": { "duration": 0 } } } } }, "ThreadC": { "exec": 1150, "period": 24000, "priority": -2, "sleep": false, "lock_order": [ "wait2", "r0", "sync3" ], "resources": { "wait2": { "duration": 0, "access": [ "trig2_mutex" ] }, "r0": { "duration": 1000 }, "sync3": { "duration": 0, "access": [ "trig3_mutex" ] } } }, "ThreadD": { "exec": 300, "period": 24000, "deadline": 24000, "priority": -2, "sleep": false, "lock_order": [ "wait3", "r0", "trig3" ], "resources": { "wait3": { "duration": 0, "access": [ "trig3_mutex" ] }, "r0": { "duration": 300 }, "trig3": { "duration": 0, "access": [ "trig3_mutex" ] } } } }, "resources": { "trig1_mutex": { "type": "mutex" }, "wait1": { "type": "wait" }, "trig1": { "type": "signal", "target": "wait1" }, "trig2_mutex": { "type": "mutex" }, "wait2": { "type": "wait" }, "trig2": { "type": "signal", "target": "wait2" }, "trig3_mutex": { "type": "mutex" }, "wait3": { "type": "wait" }, "trig3": { "type": "signal", "target": "wait3" }, "sync3": { "type": "sync", "target": "wait3" }, "r0": { "type": "run" } }, "global": { "default_policy": "SCHED_OTHER", "duration": 5, "ftrace": true, "gnuplot": false, "logdir": "/root/wa", "log_basename": "rt-app", "lock_pages": true, "frag": 1, "calibration": "CPU1" } }