diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2009-04-22 23:20:48 -0400 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2009-04-22 23:20:48 -0400 |
| commit | 703447b1a78ea905a90e9660a654ddf62d5d3f6d (patch) | |
| tree | 1d0be95925d2c2f8f54e81b65be4890276061527 /include | |
| parent | 5452cb621be9bcae22fc9c0742fdf89b6bdc4ff6 (diff) | |
rt domain: add support for release master
A release master is a CPU that takes all timer interrupts for
release of a given rt_domain_t. By default off.
Diffstat (limited to 'include')
| -rw-r--r-- | include/litmus/rt_domain.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/litmus/rt_domain.h b/include/litmus/rt_domain.h index 9e1e286eba..ea9de020cc 100644 --- a/include/litmus/rt_domain.h +++ b/include/litmus/rt_domain.h | |||
| @@ -31,6 +31,7 @@ typedef struct _rt_domain { | |||
| 31 | /* real-time tasks waiting for release are in here */ | 31 | /* real-time tasks waiting for release are in here */ |
| 32 | spinlock_t release_lock; | 32 | spinlock_t release_lock; |
| 33 | struct release_queue release_queue; | 33 | struct release_queue release_queue; |
| 34 | int release_master; | ||
| 34 | 35 | ||
| 35 | /* for moving tasks to the release queue */ | 36 | /* for moving tasks to the release queue */ |
| 36 | spinlock_t tobe_lock; | 37 | spinlock_t tobe_lock; |
| @@ -54,6 +55,8 @@ struct release_heap { | |||
| 54 | struct heap heap; | 55 | struct heap heap; |
| 55 | /* used to trigger the release */ | 56 | /* used to trigger the release */ |
| 56 | struct hrtimer timer; | 57 | struct hrtimer timer; |
| 58 | /* used to delegate releases */ | ||
| 59 | struct hrtimer_start_on_info info; | ||
| 57 | /* required for the timer callback */ | 60 | /* required for the timer callback */ |
| 58 | rt_domain_t* dom; | 61 | rt_domain_t* dom; |
| 59 | }; | 62 | }; |
