enable and disable are called from the OS Awareness framework, for all trackers that have been set in the top_trackers attribute for the node_tree object, when OS Awareness is enabled or disabled, respectively.
clear_state is called to clear the trackers state. The tracker should clear all its internal data and its data in the node tree when this is called. This call can only occur while the tracker is disabled.
add_processor and remove_processor are called to add or remove a processor cpu to/from the tracker which the tracker should start/stop tracking. If the tracker is registered as a top level tracker these methods will be called by the OS Awareness framework for all processors available to the framework when it is enabled or disabled. If the tracker is a guest under a hypervisor the hypervisor should call these methods when a processor becomes available or unavailable to the guest. These functions should return true if a processor was successfully added or removed, otherwise the function should return false.
SIM_INTERFACE(osa_tracker_control) { void (*disable)(conf_object_t *NOTNULL obj); bool (*enable)(conf_object_t *NOTNULL obj); void (*clear_state)(conf_object_t *NOTNULL obj); bool (*add_processor)(conf_object_t *NOTNULL obj, conf_object_t *NOTNULL cpu); bool (*remove_processor)(conf_object_t *NOTNULL obj, conf_object_t *NOTNULL cpu); }; #define OSA_TRACKER_CONTROL_INTERFACE "osa_tracker_control"