A rule is a logical AND of rule terms. Each rule term contains the value of a task_struct field or the id of a previously defined rule. The latter can be used to link rules together.e.g.
R1 := (uid == 1234) -> C0
R2 := R1 AND (cmd == "*gcc*") -> C1
Policies can be of two types : MONITOR and MANAGE. The former is a monitor only mode of operation where classification is done only to measure resource consumption by class. The MANAGE mode additionally allows shares to be specified and enforced by the individual resource controllers. MONITOR type policies are not currently supported.
The user's view of RBCE is contained in rbce.h and rbcelib.c and consists of the following API :
rbce_open : opens a pseudo device
rbce_close
rbce_create_policy
rbce_commit_policy
rbce_decommit_policy
rbce_delete_policy
rbce_set/get_policy_type : only RBCE_POLICY_MANAGE type is currently implemented.
rbce_create_class
rbce_delete_class
rbce_get_resource_usage : get resource usage since last call to the same function. Not implemented currently.
rbce_get_cum_resource_usage : get resource usage since policy commit. Not implemented currently
rbce_create_rule
rbce_delete_rule