Title: Akira Tsukamoto
1- Akira Tsukamoto
- System Platform Laboratory
- NEC Corporation
2Design of WRR Scheduler
- In the previous Linux scheduler, while the
real time task (FIFO and RR) exist, the normal
task (OTHER) is not selected at all (task
switching does not occur and the OTHER task has
to wait ). - In the newly introduced WRR scheduler, the
OTHER task is executed even when the WRR task
exists. -
- Round robin algorithm possible to adjust
execution time per task according to the priority - The scheduler has O(n) algorithm up to
Kernel 2.4 - In this method, when the WRR task exists,
- Realizes switching of OTHER and WRR
task queues by O(1). - Switches from the WRR task queue by
O(1) when RR and FIFO tasks are inserted. - The number of added codes is 200 lines or so
- Based on the scheduler of the Linux
original algorithm up to Kernel 2.4 - The method is explained referring the patch
described later.
3It has to wait until all FIFO and RR ended.
4OTHER is executed
5The bigger the figure, the longer the execution
time of the corresponding task.
Priority setting
6Function to be called when calculating the task
of high priority in runqueue (goodness value) For
the WRR task, modifies to the non-calculation
process because the goodness value is not
required.
Function to be called when the task in the sleep
status is inserted into runqueue Added a counter
to decide if the FIFO, RR, or WRR task exists or
not by O(1).
Function to be called at the time of actual task
switching. See the detail in the following slide.
Function to enforce task attribute (FIFO, RR,
WRR) setting and priority setting Inserts wrr
into wrr_runqueue when changing the normal task
(OTHER) to WRR task.
Function to operate newly set www_runqueue
7excerpts
or so
8(No Transcript)
9(No Transcript)
10(No Transcript)
11(No Transcript)
12(No Transcript)
13(No Transcript)
14- Checked the workings of task switching in the
implemented WRR scheduler. - Enforced tracing two WRR tasks by System Director
Embedded. -