Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

rk_util.h File Reference


Detailed Description

Header file for utility functions related to the TimeSys resource kernel.

Definition in file rk_util.h.

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  rk_resource_set_proc
struct  rk_resource_set_proc_cache
struct  rk_resource_set_usage

Typedefs

typedef rk_resource_set_proc * rk_resource_set_proc_t
typedef rk_resource_set_proc_cache * rk_resource_set_proc_cache_t
typedef rk_resource_set_usage * rk_resource_set_usage_t

Functions

rk_resource_set_t rk_resource_set_get_by_name (const char *name)
 Search for a resource set by name and return the first one encountered.
int rk_resource_set_get_usage (rk_resource_set_t rs, rk_resource_set_usage_t rsu_inout, rk_resource_set_proc_cache_t pc_inout)
 Compute the total resource usage for all the processes in a resource set.
void rk_resource_set_proc_cache_release (rk_resource_set_proc_cache_t pc)
 Release any resources stored in the given process cache.


Function Documentation

rk_resource_set_t rk_resource_set_get_by_name const char *  name  ) 
 

Search for a resource set by name and return the first one encountered.

Parameters:
name The resource set name to search for.
Returns:
A valid resource set pointer if the name was found, otherwise, NULL_RESOURCE_SET.

Definition at line 52 of file rk_util.c.

References require, RK_NAME_LEN, rk_resource_set_get_name(), rk_resource_set_t, and rk_resource_sets_get_list().

Referenced by RKTask::BeginCPUScheduling(), main(), paGetAdvocate(), rktProcessOptions(), and rts_grab_schedulable().

Here is the call graph for this function:

int rk_resource_set_get_usage rk_resource_set_t  rs,
rk_resource_set_usage_t  rsu_inout,
rk_resource_set_proc_cache_t  pc_inout
 

Compute the total resource usage for all the processes in a resource set.

Currently, this is implemented by stepping through all of the processes attached to the resource set and pulling the usage information from "/proc/<pid>/stat". Unfortunately, the standard kernel does not provide high-resolution data in the "stat" file, so the file in the "patch" directory must be applied to the kernel before this function can be used.

See also:
rk_util/patch/tslinux-3.1-procstat.patch
Parameters:
rs The resource set to compute the resource usage for.
rsu_inout An allocated rk_resource_set_stat_t object where the results should be placed.
pc_inout The process cache object where data can be stored and reused in future calls to this function.
Returns:
Zero on success, otherwise, an errno value.

Definition at line 244 of file rk_util.c.

References ensure, rk_resource_set_get_proclist(), rk_resource_set_proc_cache_add(), rk_resource_set_proc_cache_intersect(), rk_resource_set_proc_cache_search(), and rk_resource_set_t.

Referenced by main(), paGetAdvocate(), RKObserverAdvocate::run(), sigalrm(), and test_get_usage().

Here is the call graph for this function:

void rk_resource_set_proc_cache_release rk_resource_set_proc_cache_t  pc  ) 
 

Release any resources stored in the given process cache.

Parameters:
pc The process cache whose contents should be released.

Definition at line 411 of file rk_util.c.

References require.

Referenced by main(), and RKObserverAdvocate::run().


Generated on Fri Oct 22 07:50:48 2004 for CPU Broker by  doxygen 1.3.9.1