{ "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" : false, "gnuplot" : false, "logdir" : "/tmp/", "log_basename" : "rt-app", "lock_pages" : true, "frag" : 1, "calibration" : "CPU1", } }