From 40132543bcfa214ed86f58405ae66e933043dd59 Mon Sep 17 00:00:00 2001 From: Glenn Elliott Date: Fri, 27 Sep 2013 13:03:01 -0400 Subject: 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. --- include/litmus/rt_param.h | 4 ++++ 1 file changed, 4 insertions(+) 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 { uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall * started. */ + /* Flags from userspace signifying PGM wait states. */ + volatile uint32_t pgm_waiting; /* waiting for tokens */ + volatile uint32_t pgm_satisfied; /* needed tokens acquired */ + /* to be extended */ }; -- cgit v1.2.2