struct isst_fact_bucket_info { int hp_cores; int hp_ratios[TRL_MAX_LEVELS];
};
struct isst_pbf_info { int pbf_acticated; int pbf_available;
size_t core_cpumask_size;
cpu_set_t *core_cpumask; int p1_high; int p1_low; int t_control; int t_prochot; int tdp;
};
struct isst_pkg_ctdp_level_info { int processed; int control_cpu; int pkg_id; int die_id; int level; int fact_support; int pbf_support; int fact_enabled; int pbf_enabled; int sst_cp_support; int sst_cp_enabled; int tdp_ratio; int active; int tdp_control; int pkg_tdp; int pkg_min_power; int pkg_max_power; int fact; int t_proc_hot; int cooling_type; int uncore_p0; int uncore_p1; int uncore_pm; int uncore1_p0; int uncore1_p1; int uncore1_pm; int sse_p1; int avx2_p1; int avx512_p1; int amx_p1; int mem_freq;
size_t core_cpumask_size;
cpu_set_t *core_cpumask; int cpu_count; unsignedlonglong trl_cores; /* Buckets info */ int trl_ratios[TRL_MAX_LEVELS][ISST_TRL_MAX_ACTIVE_CORES]; int kobj_bucket_index; int active_bucket; int fact_max_index; int fact_max_config; int pbf_found; int pbf_active; struct isst_pbf_info pbf_info; struct isst_fact_info fact_info;
};
#define ISST_MAX_TDP_LEVELS (4 + 1) /* +1 for base config */ struct isst_pkg_ctdp { int locked; int version; int processed; int levels; int current_level; int enabled; struct isst_pkg_ctdp_level_info ctdp_level[ISST_MAX_TDP_LEVELS];
};
struct isst_platform_ops { int (*get_disp_freq_multiplier)(void); int (*get_trl_max_levels)(void); char *(*get_trl_level_name)(int level); void (*update_platform_param)(enum isst_platform_param param, int value); int (*is_punit_valid)(struct isst_id *id); int (*read_pm_config)(struct isst_id *id, int *cp_state, int *cp_cap); int (*get_config_levels)(struct isst_id *id, struct isst_pkg_ctdp *pkg_ctdp); int (*get_ctdp_control)(struct isst_id *id, int config_index, struct isst_pkg_ctdp_level_info *ctdp_level); int (*get_tdp_info)(struct isst_id *id, int config_index, struct isst_pkg_ctdp_level_info *ctdp_level); int (*get_pwr_info)(struct isst_id *id, int config_index, struct isst_pkg_ctdp_level_info *ctdp_level); int (*get_coremask_info)(struct isst_id *id, int config_index, struct isst_pkg_ctdp_level_info *ctdp_level); int (*get_get_trl)(struct isst_id *id, int level, int avx_level, int *trl); int (*get_get_trls)(struct isst_id *id, int level, struct isst_pkg_ctdp_level_info *ctdp_level); int (*get_trl_bucket_info)(struct isst_id *id, int level, unsignedlonglong *buckets_info); int (*set_tdp_level)(struct isst_id *id, int tdp_level); int (*get_pbf_info)(struct isst_id *id, int level, struct isst_pbf_info *pbf_info); int (*set_pbf_fact_status)(struct isst_id *id, int pbf, int enable); int (*get_fact_info)(struct isst_id *id, int level, int fact_bucket, struct isst_fact_info *fact_info); void (*adjust_uncore_freq)(struct isst_id *id, int config_index, struct isst_pkg_ctdp_level_info *ctdp_level); int (*get_clos_information)(struct isst_id *id, int *enable, int *type); int (*pm_qos_config)(struct isst_id *id, int enable_clos, int priority_type); int (*pm_get_clos)(struct isst_id *id, int clos, struct isst_clos_config *clos_config); int (*set_clos)(struct isst_id *id, int clos, struct isst_clos_config *clos_config); int (*clos_get_assoc_status)(struct isst_id *id, int *clos_id); int (*clos_associate)(struct isst_id *id, int clos_id);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.