This is the mail archive of the ecos-cvs@sourceware.org mailing list for the ecos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ecos/packages/kernel/current ChangeLog cdl/ker ...


CVSROOT:	/cvs/ecos
Module name:	ecos
Changes by:	nickg@sourceware.org	2007-01-08 16:20:14

Modified files:
	packages/kernel/current: ChangeLog 
	packages/kernel/current/cdl: kernel.cdl 
	packages/kernel/current/include: bitmap.hxx kapidata.h 
	                                 mlqueue.hxx 
	packages/kernel/current/src/sched: mlqueue.cxx sched.cxx 
	packages/kernel/current/tests: timeslice.c tm_basic.cxx 
Added files:
	packages/kernel/current/tests: timeslice2.c 

Log message:
	* src/sched/mlqueue.cxx (add_thread, yield):
	* src/sched/sched.cxx (unlock_inner, thread_entry):
	* include/mlqueue.hxx (class Cyg_SchedThread_Implementation):
	* include/kapidata.h (CYG_SCHEDTHREAD_TIMESLICE_MEMBER):
	* include/bitmap.hxx (class Cyg_SchedThread_Implementation):
	Reimplement timeslicing code. There is now a timeslice_count field
	in each thread which is moved to and from the per-CPU counter
	during thread dispatch. This approach has been taken to minimize
	the changes needed to SMP code. Scheduler specific thread
	functions handle counter save, restore and reset. These functions
	are defined (as empty inlines) even when timeslicing is disabled,
	or in non-timeslicing schedulers, to avoid adding ifdefs to the
	code (this change actually removes some).
	
	* tests/timeslice2.c:
	* cdl/kernel.cdl: Added timeslice2 test to test behaviour of
	timeslicing while being preempted.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]