Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
wiki1134: APS_source

Adpaptive Partitioning Scheduler: Navigating the Source #

What is it#

See the Apaptive Partioning Scheduler wiki.

Where is the source?#

Browse the source in /ker/aps/. Also any checkout of the whole kernel, done affter 2008-02-29, will include the aps source.

Other things you may need to know:

What is the file structure of /services/system/ker/aps#

aps_alg.c, .h 
	algorithm for which partition to schedule a thread from 

aps_application_error.c
        once function for forcing reboots when a partition goes bankrupt. 
	(just so the crash message will say "application error" rather than "nano_aps.c") 

aps_config.c 
        implements the api functions in ker_aps.c to configure the scheduler


aps_crit.c, .h 
	handling of critical time and partition bankruptcy 

aps_data.c, .h 
	definitions, and init routines, for partition data structures, including the scheduling window
	also contains the function to create the first partition, System. 

aps_time.c
	function to time execution of threads: microbill 
	hook into clock interrupt handler for rotating the scheduling and reporting windows

aps_trace.c
	tracelogger functions 

init_aps.S 
	linkage to make the aps scheduler into kernel module: libmod_aps.a 
	
ker_aps.c 
	implements the SchedCtl function for the aps subcommands. Contains parameter checking, 
	security checking. Invokes functions in aps_config.c once it locks the kernel 

nano_aps.c
	analog of ker/nano_sched.c. Implementation of scheduling primitives ready(), block_and_ready(),
	mark_running() and reched() 
	Also contains code to initialize aps. 

proto_aps.h
	function prototypes for all of aps.