How to implement RM scheduling on seL4
Hello, I'm now studying seL4/seL4test and try to implement the RM scheduling on seL4test. I understand how the RM scheduling works, but just don't know how to make it happen on seL4test. So where can I start? In addition, I put the sel4test driver image on my board and run, it shows "206/206 tests passed. All is well in the universe" at the last line. Does it means that the seL4test project runs correctly? Thanks!
On 7 Mar 2017, at 0:47 , wang
wrote: Hello,
I'm now studying seL4/seL4test and try to implement the RM scheduling on seL4test. I understand how the RM scheduling works, but just don't know how to make it happen on seL4test. So where can I start?
There’s nothing to be done. RM is a static priority assignment, all you need to do is correctly set the priority of the threads you create.
In addition, I put the sel4test driver image on my board and run, it shows "206/206 tests passed. All is well in the universe" at the last line. Does it means that the seL4test project runs correctly?
Yes Gernot
Ahem. I disagree with Gernot. There is no new *kernel mechanism* necessary, the simple priority scheduler will do for RM. But there's still a little bit to do. The priority scheduler picks between runnable tasks by their priority. You still need to ensure that tasks become runnable/not-runnable at the right times, either by messaging and blocking-on-IPC, or having a supervisor suspend/resume them. That will probably require a high-priority user-level task controlling a timer device of its own. Good luck, Thomas. On 07/03/17 11:34, Gernot.Heiser@data61.csiro.au wrote:
On 7 Mar 2017, at 0:47 , wang
wrote: Hello,
I'm now studying seL4/seL4test and try to implement the RM scheduling on seL4test. I understand how the RM scheduling works, but just don't know how to make it happen on seL4test. So where can I start? There’s nothing to be done.
RM is a static priority assignment, all you need to do is correctly set the priority of the threads you create.
In addition, I put the sel4test driver image on my board and run, it shows "206/206 tests passed. All is well in the universe" at the last line. Does it means that the seL4test project runs correctly? Yes
Gernot _______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
On 7 Mar 2017, at 11:57 , Thomas.Sewell@data61.csiro.au wrote:
The priority scheduler picks between runnable tasks by their priority. You still need to ensure that tasks become runnable/not-runnable at the right times, either by messaging and blocking-on-IPC, or having a supervisor suspend/resume them. That will probably require a high-priority user-level task controlling a timer device of its own.
Ahem. That’s what we have periodic threads for. Gernot
participants (3)
-
Gernot.Heiser@data61.csiro.au
-
Thomas.Sewell@data61.csiro.au
-
wang