diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-09-27 13:03:01 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2014-02-19 15:32:22 -0500 |
commit | 40132543bcfa214ed86f58405ae66e933043dd59 (patch) | |
tree | 2e08fbda43bb2259a02b5111178b09ab9fd94137 | |
parent | 99c500a966d2a94a6e012b00b4d4e324cfb6aa1c (diff) |
Add control page variables for PGM.
Currently, PGM token satisfaction is tracked in
userspace. However, Litmus needs to be aware of
when a PGM task is waiting for tokens in order to
avoid unbounded priority inversions. The state of
a PGM task is communicated to Litmus via the
control page.
We should be able to remove control page variables
for PGM if/when token tracking is moved from
userspace into the kernel.
-rw-r--r-- | include/litmus/rt_param.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index 138799fbaad7..bc074c63c7ad 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h | |||
@@ -121,6 +121,10 @@ struct control_page { | |||
121 | uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall | 121 | uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall |
122 | * started. */ | 122 | * started. */ |
123 | 123 | ||
124 | /* Flags from userspace signifying PGM wait states. */ | ||
125 | volatile uint32_t pgm_waiting; /* waiting for tokens */ | ||
126 | volatile uint32_t pgm_satisfied; /* needed tokens acquired */ | ||
127 | |||
124 | /* to be extended */ | 128 | /* to be extended */ |
125 | }; | 129 | }; |
126 | 130 | ||