diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-16 17:08:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-22 14:37:10 +0200 |
commit | 9a78f8a5076687a8744991998ee6119f87db12a8 (patch) | |
tree | a5ed0e9b476714a697667328c5535a07d2d02154 /cpukit/rtems/src/ratemonperiod.c | |
parent | score: Remove hidden deadline overrule for CBS (diff) | |
download | rtems-9a78f8a5076687a8744991998ee6119f87db12a8.tar.bz2 |
score: Modify release job scheduler operation
Pass the deadline in watchdog ticks to the scheduler.
Update #2173.
Diffstat (limited to 'cpukit/rtems/src/ratemonperiod.c')
-rw-r--r-- | cpukit/rtems/src/ratemonperiod.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cpukit/rtems/src/ratemonperiod.c b/cpukit/rtems/src/ratemonperiod.c index 1a1373117b..771f9c15ab 100644 --- a/cpukit/rtems/src/ratemonperiod.c +++ b/cpukit/rtems/src/ratemonperiod.c @@ -71,20 +71,21 @@ static void _Rate_monotonic_Release_job( ) { Per_CPU_Control *cpu_self; + uint64_t deadline; cpu_self = _Thread_Dispatch_disable_critical( lock_context ); _Rate_monotonic_Release( owner, lock_context ); - _Scheduler_Release_job( owner, next_length ); - _ISR_lock_ISR_disable( lock_context ); - _Watchdog_Per_CPU_insert_relative( + deadline = _Watchdog_Per_CPU_insert_relative( &the_period->Timer, cpu_self, next_length ); _ISR_lock_ISR_enable( lock_context ); + _Scheduler_Release_job( owner, deadline ); + _Thread_Dispatch_enable( cpu_self ); } |