geopm_policystore(3) – GEOPM resource policy store interface
Synopsis
#include <geopm_policystore.h>
Link with -lgeopm
(MPI) or -lgeopm
(non-MPI)
int geopm_policystore_connect(const char *data_path);
int geopm_policystore_disconnect();
int geopm_policystore_get_best(const char *agent_name,
const char *profile_name,
size_t max_policy_vals,
double *policy_vals);
int geopm_policystore_set_best(const char *agent_name,
const char *profile_name,
size_t num_policy_vals,
const double *policy_vals);
int geopm_policystore_set_default(const char *agent_name,
size_t num_policy_vals,
const double *policy_vals);
Description
These interfaces expose records of best known policies for profiles used with agents.
The records include the best reported policies, as well as the default policies
to apply when a best run has not yet been recorded. Policies are shared as
arrays of doubles. See geopm_agent_policy_json_partial()
in geopm_agent(3)
for information about interpreting them as json strings.
geopm_policystore_connect()
Connects to a data store at the path specified in data_path, creating a new one if necessary. Returns zero on success, or an error code on failure.
geopm_policystore_disconnect()
Disconnects the data store if one is connected.
geopm_policystore_get_best()
Gets the best known policy for a given profile_name and agent_name in the policy store. Gets the agent’s default policy if no best policy has been reported. Returns
GEOPM_ERROR_INVALID
if not connected to a store, or if policy_vals would be truncated. ReturnsGEOPM_ERROR_DATA_STORE
if no applicable policy exists in the data store, or if any data store errors occur. Returns zero on success, and up to max_policy_vals values of the found policy are written to policy_vals.geopm_policystore_set_best()
Sets the best known policy for a given profile_name and agent_name to policy_vals in the store. num_policy_vals specifies how many values to store. Returns
GEOPM_ERROR_INVALID
if not connected to a store. ReturnsGEOPM_ERROR_DATA_STORE
if any data store errors occur. Returns zero on success.geopm_policystore_set_default()
Sets the default policy for a given agent_name to policy_vals in the store. num_policy_vals specifies how many values to store. Returns
GEOPM_ERROR_INVALID
if not connected to a store. ReturnsGEOPM_ERROR_DATA_STORE
if any data store errors occur. Returns zero on success.