From 7aa4671d9113600cb40f53ea8aa67216eba81d9a Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 5 Jun 1996 21:12:06 +0000 Subject: added cpu_time_budget field to Thread_Control and removed the global variable _Thread_Ticks_remaining_in_timeslice. --- cpukit/score/src/thread.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'cpukit/score/src') diff --git a/cpukit/score/src/thread.c b/cpukit/score/src/thread.c index 69701ac1d1..0d0d5cd43b 100644 --- a/cpukit/score/src/thread.c +++ b/cpukit/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(); } } -- cgit v1.2.3