aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2013-09-27 13:03:01 -0400
committerGlenn Elliott <gelliott@cs.unc.edu>2014-02-19 15:32:22 -0500
commit40132543bcfa214ed86f58405ae66e933043dd59 (patch)
tree2e08fbda43bb2259a02b5111178b09ab9fd94137
parent99c500a966d2a94a6e012b00b4d4e324cfb6aa1c (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.h4
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