Top Struct
- linux/percpu.h:
- Needed for making CPU-local allocations.
- linux/sched.h:
- Needed for the definition of struct task_struct.
- litmus/litmus.h:
- Contains many necessary definitions for working with LITMUSRT.
- litmus/rt_domain.h:
- Contains definitions relating to “real-time domains”, and includes ready-made definitions for release and ready queues.
litmus/edf_common.h:
- Contains common definitions related to EDF priority and EDF-related helper functions.
litmus/sched_plugin.h
litmus/jobs.h
- litmus/budget.h
Detail
- sched_plugin
- .plugin_name = "DEMO",
- .schedule = demo_schedule
- raw_spin_lock
- check if is real-time task and need to be preempted
- if need rescheduled, add to ready queue
* .task_wake_up
* .admit_task
* .task_new
* .task_exit
* .get_domain_proc_info
* .activate_plugin :
* is invoked when the plugin is selected by the user (with setsched in liblitmus) and is a good place to implement plugin initialization tasks.
* .deactivate_plugin = demo_deactivate_plugin