aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-04-18 13:31:59 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-09-20 22:50:30 -0400
commitb51c94dafb0c0ef55b999bc892a06a296c4372fc (patch)
tree206496c93aaa0fed62e56506b690988d9701124f /include
parent84403b9d19b8ac349a23e25fb6587ee0d2bd9b1c (diff)
[EDF-fm] Add required extensions to rt_task and rt_job
- rt_task: for each task, add fraction (num/denom) of execution cost that should be handled by each processor (for EDF-fm max 2 processors). - rt_job: add number of jobs already managed by the CPUs (for migrating tasks this is needed to determine on which CPU the next job should execute).
Diffstat (limited to 'include')
-rw-r--r--include/litmus/rt_param.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index 9d17fd3863d9..1c63b006f50e 100644
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -50,6 +50,14 @@ struct rt_task {
50 * so that one can use: cpus[nr_cpus] 50 * so that one can use: cpus[nr_cpus]
51 */ 51 */
52 unsigned int nr_cpus; 52 unsigned int nr_cpus;
53 /* EDF-fm migrating tasks, fraction of this task exec_cost
54 * that the processors should handle.
55 * We keep the fraction divided in num/denom : a matrix of
56 * NR_CPUS_SEMI rows * 2 columns; first column is the numerator
57 * of the fraction, second column is the denominator
58 * (in EDF-fm this is a 2*2 matrix)
59 */
60 lt_t fraction[2][NR_CPUS_SEMI];
53}; 61};
54 62
55/* The definition of the data that is shared between the kernel and real-time 63/* The definition of the data that is shared between the kernel and real-time
@@ -100,6 +108,11 @@ struct rt_job {
100 * Increase this sequence number when a job is released. 108 * Increase this sequence number when a job is released.
101 */ 109 */
102 unsigned int job_no; 110 unsigned int job_no;
111
112 /* EDF-fm: number of jobs handled by this cpu
113 * (to determine next cpu for a migrating task)
114 */
115 unsigned int cpu_job_no[NR_CPUS_SEMI];
103}; 116};
104 117
105struct pfair_param; 118struct pfair_param;