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/score/include/rtems/score/watchdogimpl.h | |
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/score/include/rtems/score/watchdogimpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/watchdogimpl.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpukit/score/include/rtems/score/watchdogimpl.h b/cpukit/score/include/rtems/score/watchdogimpl.h index 2b24cc68e5..b76a51acfa 100644 --- a/cpukit/score/include/rtems/score/watchdogimpl.h +++ b/cpukit/score/include/rtems/score/watchdogimpl.h @@ -339,23 +339,27 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_release_critical( _ISR_lock_Release( &cpu->Watchdog.Lock, lock_context ); } -RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_insert_relative( +RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Per_CPU_insert_relative( Watchdog_Control *the_watchdog, Per_CPU_Control *cpu, uint32_t ticks ) { ISR_lock_Context lock_context; + uint64_t expire; _Watchdog_Set_CPU( the_watchdog, cpu ); _Watchdog_Per_CPU_acquire_critical( cpu, &lock_context ); + expire = cpu->Watchdog.ticks + ticks; _Watchdog_Insert( &cpu->Watchdog.Header[ PER_CPU_WATCHDOG_RELATIVE ], the_watchdog, - cpu->Watchdog.ticks + ticks + expire ); _Watchdog_Per_CPU_release_critical( cpu, &lock_context ); + + return expire; } RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_insert_absolute( |