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
      1. raw_spin_lock
      2. check if is real-time task and need to be preempted
      3. 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

PFP

results matching ""

    No results matching ""