pg_t
ilbd_destroy_pg(ilbd_scf_pg_type_t pg_t, const char *pgname)
ilbd_name_to_scfpgname(pg_t, pgname, scfname);
pg_t pg;
bitset_add(&cp->cpu_part->cp_cmt_pgs, ((pg_t *)pg)->pg_id);
GROUP_SIZE(&((pg_t *)pg)->pg_cpus));
((pg_t *)pg)->pg_id);
pg_cmt_cpu_belongs(pg_t *pg, cpu_t *cp)
pg_t *tmp;
pg_t **h = (pg_t **)hier;
(PG_NUM_CPUS((pg_t *)pg) ==
PG_NUM_CPUS((pg_t *)pg->cmt_parent))) {
#define IS_CMT_PG(pg) (((pg_t *)(pg))->pg_class->pgc_id == pg_cmt_class_id)
cmt_ev_thread_swtch(pg_t *pg, cpu_t *cp, hrtime_t now, kthread_t *old,
cmt_ev_thread_swtch_pwr(pg_t *pg, cpu_t *cp, hrtime_t now, kthread_t *old,
static pg_t *pg_cmt_alloc();
static void pg_cmt_free(pg_t *);
cmt_ev_thread_remain_pwr(pg_t *pg, cpu_t *cp, kthread_t *t)
pg_cmt_policy_name(pg_t *pg)
static char *pg_cmt_policy_name(pg_t *);
static int pg_cmt_cpu_belongs(pg_t *, cpu_t *);
static void cmt_ev_thread_swtch(pg_t *, cpu_t *, hrtime_t,
static void cmt_ev_thread_swtch_pwr(pg_t *, cpu_t *, hrtime_t,
static void cmt_ev_thread_remain_pwr(pg_t *, cpu_t *, kthread_t *);
pg_callback_set_defaults((pg_t *)pg);
(PG_NUM_CPUS((pg_t *)pg) <= PG_NUM_CPUS((pg_t *)pg_next)));
if (PG_NUM_CPUS((pg_t *)parent) >=
PG_NUM_CPUS((pg_t *)pg)) {
PG_CPU_ITR_INIT((pg_t *)pg, cpu_iter);
pg_cpu_find((pg_t *)pg_next, cp) == B_FALSE) {
if ((PG_NUM_CPUS((pg_t *)pg) < PG_NUM_CPUS((pg_t *)pg_next)) &&
} else if (PG_NUM_CPUS((pg_t *)pg) ==
PG_NUM_CPUS((pg_t *)pg_next)) {
static pg_t *
pg_cmt_free(pg_t *pg)
cmt_callback_init(pg_t *pg)
ASSERT(PG_NUM_CPUS((pg_t *)pg) >= PG_NUM_CPUS((pg_t *)parent));
pg_t *pg_cache = NULL;
cmt_callback_init((pg_t *)pg);
pg_cpu_add((pg_t *)pg, cp, pgdata);
GROUP_SIZE(&((pg_t *)pg)->pg_cpus));
pg_cache = (pg_t *)pg;
pgdata->cmt_lineage = (pg_t *)pg;
if (GROUP_SIZE(&((pg_t *)pg)->pg_cpus) == 1) {
pg_cpu_delete((pg_t *)pg, cp, pgdata);
if (GROUP_SIZE(&((pg_t *)pg)->pg_cpus) == 0) {
pg_destroy((pg_t *)pg);
pg_t *pg;
pg_t *pg;
((pg_t *)pg_tmp)->pg_id)) {
kstat->cu_pg_id.value.i32 = ((pg_t *)pg)->pg_id;
pg_t *
pg_t *pg;
pg_t *pg = itr->pg;
pg_cpu_find(pg_t *pg, cpu_t *cp)
pg_callback_set_defaults(pg_t *pg)
pg_t *
pg_t *pg;
pg_destroy(pg_t *pg)
pg_cpu_add(pg_t *pg, cpu_t *cp, cpu_pg_t *cpu_pg)
pg_cpu_delete(pg_t *pg, cpu_t *cp, cpu_pg_t *cpu_pg)
pg_policy_name(pg_t *pg)
static pg_t *
return (kmem_zalloc(sizeof (pg_t), KM_SLEEP));
kmem_free(pg, sizeof (pg_t));
pg_t *pg;
pg_t *pg;
static pg_t *pg_alloc_default(pg_class_t);
static void pg_free_default(pg_t *);
if ((pg->pghw_kstat = kstat_create("pg", ((pg_t *)pg)->pg_id,
if ((pg->pghw_cu_kstat = kstat_create("pg_hw_perf", ((pg_t *)pg)->pg_id,
pgsp->pg_id.value.ui32 = ((pg_t *)pg)->pg_id;
pgsp->pg_ncpus.value.ui32 = GROUP_SIZE(&((pg_t *)pg)->pg_cpus);
kstat_named_setstr(&pgsp->pg_class, ((pg_t *)pg)->pg_class->pgc_name);
kstat_named_setstr(&pgsp->pg_policy, pg_policy_name((pg_t *)pg));
pgsp->pg_id.value.i32 = ((pg_t *)pg)->pg_id;
pgsp->pg_ncpus.value.ui32 = GROUP_SIZE(&((pg_t *)pg)->pg_cpus);
(void) group2intlist(&(((pg_t *)pg)->pg_cpus),
uint_t ncpus = GROUP_SIZE(&((pg_t *)pg)->pg_cpus);
pg_t *pg = (pg_t *)pghw;
pg_t *parent = (pg_t *)cmt->cmt_parent;
pg_t *pg;
(itr).pg = ((pg_t *)pgrp); \
(GROUP_SIZE(&((pg_t *)pgrp)->pg_cpus) > 0 ? \
GROUP_ACCESS(&((pg_t *)pgrp)->pg_cpus, 0) : NULL)
pg_t *pg_create(pg_cid_t);
void pg_destroy(pg_t *);
void pg_cpu_add(pg_t *, cpu_t *, cpu_pg_t *);
void pg_cpu_delete(pg_t *, cpu_t *, cpu_pg_t *);
pg_t *pg_cpu_find_pg(cpu_t *, group_t *);
boolean_t pg_cpu_find(pg_t *, cpu_t *);
void pg_callback_set_defaults(pg_t *);
char *pg_policy_name(pg_t *);
pg_t pghw_pg; /* processor group */
pg_t *chip_pg;
chip_pg = (pg_t *)pghw_find_pg(cpu, PGHW_CHIP);
pg_t *pg;
pg = (pg_t *)pghw_find_pg(cpup, PGHW_CHIP);