Changeset 9a78f8a5 in rtems
- Timestamp:
- 06/16/16 15:08:54 (7 years ago)
- Branches:
- 5, master
- Children:
- 99fc1d1d
- Parents:
- 7ec66e08
- git-author:
- Sebastian Huber <sebastian.huber@…> (06/16/16 15:08:54)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (06/22/16 12:37:10)
- Location:
- cpukit
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/rtems/src/ratemonperiod.c
r7ec66e08 r9a78f8a5 72 72 { 73 73 Per_CPU_Control *cpu_self; 74 uint64_t deadline; 74 75 75 76 cpu_self = _Thread_Dispatch_disable_critical( lock_context ); 76 77 _Rate_monotonic_Release( owner, lock_context ); 77 78 78 _Scheduler_Release_job( owner, next_length );79 80 79 _ISR_lock_ISR_disable( lock_context ); 81 _Watchdog_Per_CPU_insert_relative(80 deadline = _Watchdog_Per_CPU_insert_relative( 82 81 &the_period->Timer, 83 82 cpu_self, … … 85 84 ); 86 85 _ISR_lock_ISR_enable( lock_context ); 86 87 _Scheduler_Release_job( owner, deadline ); 87 88 88 89 _Thread_Dispatch_enable( cpu_self ); -
cpukit/score/include/rtems/score/scheduler.h
r7ec66e08 r9a78f8a5 146 146 const Scheduler_Control *, 147 147 Thread_Control *, 148 uint 32_t148 uint64_t 149 149 ); 150 150 … … 509 509 const Scheduler_Control *scheduler, 510 510 Thread_Control *the_thread, 511 uint 32_t deadline511 uint64_t deadline 512 512 ); 513 513 -
cpukit/score/include/rtems/score/schedulercbs.h
r7ec66e08 r9a78f8a5 180 180 const Scheduler_Control *scheduler, 181 181 Thread_Control *the_thread, 182 uint 32_t length182 uint64_t length 183 183 ); 184 184 -
cpukit/score/include/rtems/score/scheduleredf.h
r7ec66e08 r9a78f8a5 253 253 const Scheduler_Control *scheduler, 254 254 Thread_Control *the_thread, 255 uint 32_t deadline255 uint64_t deadline 256 256 ); 257 257 -
cpukit/score/include/rtems/score/schedulerimpl.h
r7ec66e08 r9a78f8a5 523 523 * 524 524 * @param[in] the_thread The thread. 525 * @param[in] length The period length.525 * @param[in] deadline The deadline in watchdog ticks since boot. 526 526 */ 527 527 RTEMS_INLINE_ROUTINE void _Scheduler_Release_job( 528 528 Thread_Control *the_thread, 529 uint 32_t length529 uint64_t deadline 530 530 ) 531 531 { 532 532 const Scheduler_Control *scheduler = _Scheduler_Get( the_thread ); 533 533 534 ( *scheduler->Operations.release_job )( scheduler, the_thread, length);534 ( *scheduler->Operations.release_job )( scheduler, the_thread, deadline ); 535 535 } 536 536 -
cpukit/score/include/rtems/score/watchdogimpl.h
r7ec66e08 r9a78f8a5 340 340 } 341 341 342 RTEMS_INLINE_ROUTINE void_Watchdog_Per_CPU_insert_relative(342 RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Per_CPU_insert_relative( 343 343 Watchdog_Control *the_watchdog, 344 344 Per_CPU_Control *cpu, … … 347 347 { 348 348 ISR_lock_Context lock_context; 349 uint64_t expire; 349 350 350 351 _Watchdog_Set_CPU( the_watchdog, cpu ); 351 352 352 353 _Watchdog_Per_CPU_acquire_critical( cpu, &lock_context ); 354 expire = cpu->Watchdog.ticks + ticks; 353 355 _Watchdog_Insert( 354 356 &cpu->Watchdog.Header[ PER_CPU_WATCHDOG_RELATIVE ], 355 357 the_watchdog, 356 cpu->Watchdog.ticks + ticks358 expire 357 359 ); 358 360 _Watchdog_Per_CPU_release_critical( cpu, &lock_context ); 361 362 return expire; 359 363 } 360 364 -
cpukit/score/src/schedulercbsreleasejob.c
r7ec66e08 r9a78f8a5 25 25 const Scheduler_Control *scheduler, 26 26 Thread_Control *the_thread, 27 uint 32_t deadline27 uint64_t deadline 28 28 ) 29 29 { -
cpukit/score/src/schedulerdefaultreleasejob.c
r7ec66e08 r9a78f8a5 25 25 const Scheduler_Control *scheduler, 26 26 Thread_Control *the_thread, 27 uint 32_t deadline27 uint64_t deadline 28 28 ) 29 29 { 30 ( void) scheduler;31 ( void) the_thread;32 ( void) deadline;30 (void) scheduler; 31 (void) the_thread; 32 (void) deadline; 33 33 } -
cpukit/score/src/scheduleredfreleasejob.c
r7ec66e08 r9a78f8a5 26 26 const Scheduler_Control *scheduler, 27 27 Thread_Control *the_thread, 28 uint 32_t deadline28 uint64_t deadline 29 29 ) 30 30 { … … 36 36 if (deadline) { 37 37 /* Initializing or shifting deadline. */ 38 new_priority = (_Watchdog_Ticks_since_boot + deadline) 39 & ~SCHEDULER_EDF_PRIO_MSB; 38 new_priority = (uint32_t) deadline & ~SCHEDULER_EDF_PRIO_MSB; 40 39 } 41 40 else {
Note: See TracChangeset
for help on using the changeset viewer.