diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-06-05 21:12:06 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-06-05 21:12:06 +0000 |
commit | 7aa4671d9113600cb40f53ea8aa67216eba81d9a (patch) | |
tree | 5e64ec8812c6d61921e989d1db991754ca2d9667 /c/src/exec/score/src/thread.c | |
parent | fixed spacing (diff) | |
download | rtems-7aa4671d9113600cb40f53ea8aa67216eba81d9a.tar.bz2 |
added cpu_time_budget field to Thread_Control and removed the global variable
_Thread_Ticks_remaining_in_timeslice.
Diffstat (limited to 'c/src/exec/score/src/thread.c')
-rw-r--r-- | c/src/exec/score/src/thread.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/c/src/exec/score/src/thread.c b/c/src/exec/score/src/thread.c index 69701ac1d1..0d0d5cd43b 100644 --- a/c/src/exec/score/src/thread.c +++ b/c/src/exec/score/src/thread.c @@ -70,7 +70,6 @@ void _Thread_Handler_initialization( _Thread_Maximum_extensions = maximum_extensions; - _Thread_Ticks_remaining_in_timeslice = ticks_per_timeslice; _Thread_Ticks_per_timeslice = ticks_per_timeslice; _Thread_Ready_chain = _Workspace_Allocate_or_fatal_error( @@ -244,7 +243,7 @@ void _Thread_Dispatch( void ) _User_extensions_Thread_switch( executing, heir ); - _Thread_Ticks_remaining_in_timeslice = _Thread_Ticks_per_timeslice; + heir->cpu_time_budget = _Thread_Ticks_per_timeslice; /* * If the CPU has hardware floating point, then we must address saving @@ -874,8 +873,8 @@ void _Thread_Reset_timeslice( void ) ready = executing->ready; _ISR_Disable( level ); if ( _Chain_Has_only_one_node( ready ) ) { - _Thread_Ticks_remaining_in_timeslice = _Thread_Ticks_per_timeslice; _ISR_Enable( level ); + executing->cpu_time_budget = _Thread_Ticks_per_timeslice; return; } _Chain_Extract_unprotected( &executing->Object.Node ); @@ -911,7 +910,7 @@ void _Thread_Tickle_timeslice( void ) !_States_Is_ready( _Thread_Executing->current_state ) ) return; - if ( --_Thread_Ticks_remaining_in_timeslice == 0 ) { + if ( --_Thread_Executing->cpu_time_budget == 0 ) { _Thread_Reset_timeslice(); } } |