pmda.c (pcp-6.0.2) | : | pmda.c (pcp-6.0.3) | ||
---|---|---|---|---|
skipping to change at line 6882 | skipping to change at line 6882 | |||
{ NULL, {PMDA_PMID(CLUSTER_TTY,TTY_BRK), PM_TYPE_U32, TTY_INDOM, | { NULL, {PMDA_PMID(CLUSTER_TTY,TTY_BRK), PM_TYPE_U32, TTY_INDOM, | |||
PM_SEM_COUNTER, PMDA_PMUNITS(0,0,0,0,0,0)} }, | PM_SEM_COUNTER, PMDA_PMUNITS(0,0,0,0,0,0)} }, | |||
/* tty.serial.overrun */ | /* tty.serial.overrun */ | |||
{ NULL, {PMDA_PMID(CLUSTER_TTY,TTY_OVERRUN), PM_TYPE_U32, TTY_INDOM, | { NULL, {PMDA_PMID(CLUSTER_TTY,TTY_OVERRUN), PM_TYPE_U32, TTY_INDOM, | |||
PM_SEM_COUNTER, PMDA_PMUNITS(0,0,0,0,0,0)} }, | PM_SEM_COUNTER, PMDA_PMUNITS(0,0,0,0,0,0)} }, | |||
/* tty.serial.irq */ | /* tty.serial.irq */ | |||
{ NULL, {PMDA_PMID(CLUSTER_TTY,TTY_IRQ), PM_TYPE_U32, TTY_INDOM, | { NULL, {PMDA_PMID(CLUSTER_TTY,TTY_IRQ), PM_TYPE_U32, TTY_INDOM, | |||
PM_SEM_DISCRETE, PMDA_PMUNITS(0,0,0,0,0,0)} }, | PM_SEM_DISCRETE, PMDA_PMUNITS(0,0,0,0,0,0)} }, | |||
/* | /* | |||
* /proc/pressure/{cpu,memory,io} clusters | * /proc/pressure/{cpu,memory,io,irq} clusters | |||
*/ | */ | |||
/* kernel.all.pressure.cpu.some.avg */ | /* kernel.all.pressure.cpu.some.avg */ | |||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_CPU,0), PM_TYPE_FLOAT, | { NULL, { PMDA_PMID(CLUSTER_PRESSURE_CPU,0), PM_TYPE_FLOAT, | |||
PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | |||
/* kernel.all.pressure.cpu.some.total */ | /* kernel.all.pressure.cpu.some.total */ | |||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_CPU,1), PM_TYPE_U64, PM_INDOM_NULL, | { NULL, { PMDA_PMID(CLUSTER_PRESSURE_CPU,1), PM_TYPE_U64, PM_INDOM_NULL, | |||
PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | |||
/* kernel.all.pressure.memory.some.avg */ | /* kernel.all.pressure.memory.some.avg */ | |||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_MEM,0), PM_TYPE_FLOAT, | { NULL, { PMDA_PMID(CLUSTER_PRESSURE_MEM,0), PM_TYPE_FLOAT, | |||
PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | |||
skipping to change at line 6914 | skipping to change at line 6914 | |||
PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | |||
/* kernel.all.pressure.io.some.total */ | /* kernel.all.pressure.io.some.total */ | |||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_IO,1), PM_TYPE_U64, PM_INDOM_NULL, | { NULL, { PMDA_PMID(CLUSTER_PRESSURE_IO,1), PM_TYPE_U64, PM_INDOM_NULL, | |||
PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | |||
/* kernel.all.pressure.io.full.avg */ | /* kernel.all.pressure.io.full.avg */ | |||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_IO,2), PM_TYPE_FLOAT, | { NULL, { PMDA_PMID(CLUSTER_PRESSURE_IO,2), PM_TYPE_FLOAT, | |||
PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | |||
/* kernel.all.pressure.io.full.total */ | /* kernel.all.pressure.io.full.total */ | |||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_IO,3), PM_TYPE_U64, PM_INDOM_NULL, | { NULL, { PMDA_PMID(CLUSTER_PRESSURE_IO,3), PM_TYPE_U64, PM_INDOM_NULL, | |||
PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | |||
/* kernel.all.pressure.irq.full.avg */ | ||||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_IRQ,0), PM_TYPE_FLOAT, | ||||
PRESSUREAVG_INDOM, PM_SEM_INSTANT, PMDA_PMUNITS(0,0,0,0,0,0) } }, | ||||
/* kernel.all.pressure.irq.full.total */ | ||||
{ NULL, { PMDA_PMID(CLUSTER_PRESSURE_IRQ,1), PM_TYPE_U64, PM_INDOM_NULL, | ||||
PM_SEM_COUNTER, PMDA_PMUNITS(0,1,0,0,PM_TIME_USEC,0)}}, | ||||
/* | /* | |||
* Fibre Channel host metrics cluster | * Fibre Channel host metrics cluster | |||
*/ | */ | |||
/* fchost.in.frames */ | /* fchost.in.frames */ | |||
{ NULL, { PMDA_PMID(CLUSTER_FCHOST, FCHOST_IN_FRAMES), PM_TYPE_U64, | { NULL, { PMDA_PMID(CLUSTER_FCHOST, FCHOST_IN_FRAMES), PM_TYPE_U64, | |||
FCHOST_INDOM, PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, }, | FCHOST_INDOM, PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, }, | |||
/* fchost.out.frames */ | /* fchost.out.frames */ | |||
{ NULL, { PMDA_PMID(CLUSTER_FCHOST, FCHOST_OUT_FRAMES), PM_TYPE_U64, | { NULL, { PMDA_PMID(CLUSTER_FCHOST, FCHOST_OUT_FRAMES), PM_TYPE_U64, | |||
FCHOST_INDOM, PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, }, | FCHOST_INDOM, PM_SEM_COUNTER, PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, }, | |||
skipping to change at line 7447 | skipping to change at line 7453 | |||
proc_tty_permission = 0; | proc_tty_permission = 0; | |||
} | } | |||
} | } | |||
if (need_refresh[CLUSTER_PRESSURE_CPU]) | if (need_refresh[CLUSTER_PRESSURE_CPU]) | |||
refresh_proc_pressure_cpu(&proc_pressure); | refresh_proc_pressure_cpu(&proc_pressure); | |||
if (need_refresh[CLUSTER_PRESSURE_MEM]) | if (need_refresh[CLUSTER_PRESSURE_MEM]) | |||
refresh_proc_pressure_mem(&proc_pressure); | refresh_proc_pressure_mem(&proc_pressure); | |||
if (need_refresh[CLUSTER_PRESSURE_IO]) | if (need_refresh[CLUSTER_PRESSURE_IO]) | |||
refresh_proc_pressure_io(&proc_pressure); | refresh_proc_pressure_io(&proc_pressure); | |||
if (need_refresh[CLUSTER_PRESSURE_IRQ]) | ||||
refresh_proc_pressure_irq(&proc_pressure); | ||||
if (need_refresh[CLUSTER_FCHOST]) | if (need_refresh[CLUSTER_FCHOST]) | |||
refresh_sysfs_fchosts(INDOM(FCHOST_INDOM)); | refresh_sysfs_fchosts(INDOM(FCHOST_INDOM)); | |||
done: | done: | |||
container_close(cp, ns_fds); | container_close(cp, ns_fds); | |||
return sts; | return sts; | |||
} | } | |||
static int | static int | |||
skipping to change at line 9572 | skipping to change at line 9580 | |||
} | } | |||
} | } | |||
break; | break; | |||
case CLUSTER_PRESSURE_CPU: | case CLUSTER_PRESSURE_CPU: | |||
switch (item) { | switch (item) { | |||
case 0: /* kernel.all.pressure.cpu.some.avg */ | case 0: /* kernel.all.pressure.cpu.some.avg */ | |||
if (proc_pressure.some_cpu.updated == 0) | if (proc_pressure.some_cpu.updated == 0) | |||
return 0; | return 0; | |||
if (average_proc_pressure(&proc_pressure.some_cpu, inst, atom) < 0) | if (average_proc_pressure(&proc_pressure.some_cpu, inst, atom) < 0) | |||
return PM_ERR_INST; | return PM_ERR_INST; | |||
break; | break; | |||
case 1: /* kernel.all.pressure.cpu.some.total */ | case 1: /* kernel.all.pressure.cpu.some.total */ | |||
if (proc_pressure.some_cpu.updated == 0) | if (proc_pressure.some_cpu.updated == 0) | |||
return 0; | return 0; | |||
atom->ull = proc_pressure.some_cpu.total; | atom->ull = proc_pressure.some_cpu.total; | |||
break; | break; | |||
default: | default: | |||
return PM_ERR_PMID; | return PM_ERR_PMID; | |||
} | } | |||
break; | break; | |||
case CLUSTER_PRESSURE_MEM: | case CLUSTER_PRESSURE_MEM: | |||
switch (item) { | switch (item) { | |||
case 0: /* kernel.all.pressure.memory.some.avg */ | case 0: /* kernel.all.pressure.memory.some.avg */ | |||
if (proc_pressure.some_mem.updated == 0) | if (proc_pressure.some_mem.updated == 0) | |||
return 0; | return 0; | |||
if (average_proc_pressure(&proc_pressure.some_mem, inst, atom) < 0) | if (average_proc_pressure(&proc_pressure.some_mem, inst, atom) < 0) | |||
return PM_ERR_INST; | return PM_ERR_INST; | |||
break; | break; | |||
case 1: /* kernel.all.pressure.memory.some.total */ | case 1: /* kernel.all.pressure.memory.some.total */ | |||
if (proc_pressure.some_mem.updated == 0) | if (proc_pressure.some_mem.updated == 0) | |||
return 0; | return 0; | |||
atom->ull = proc_pressure.some_mem.total; | atom->ull = proc_pressure.some_mem.total; | |||
break; | break; | |||
case 2: /* kernel.all.pressure.memory.full.avg */ | case 2: /* kernel.all.pressure.memory.full.avg */ | |||
if (proc_pressure.full_mem.updated == 0) | if (proc_pressure.full_mem.updated == 0) | |||
return 0; | return 0; | |||
if (average_proc_pressure(&proc_pressure.full_mem, inst, atom) < 0) | if (average_proc_pressure(&proc_pressure.full_mem, inst, atom) < 0) | |||
return PM_ERR_INST; | return PM_ERR_INST; | |||
break; | break; | |||
case 3: /* kernel.all.pressure.memory.full.total */ | case 3: /* kernel.all.pressure.memory.full.total */ | |||
if (proc_pressure.full_mem.updated == 0) | if (proc_pressure.full_mem.updated == 0) | |||
return 0; | return 0; | |||
atom->ull = proc_pressure.full_mem.total; | atom->ull = proc_pressure.full_mem.total; | |||
break; | break; | |||
default: | default: | |||
return PM_ERR_PMID; | return PM_ERR_PMID; | |||
} | } | |||
break; | break; | |||
case CLUSTER_PRESSURE_IO: | case CLUSTER_PRESSURE_IO: | |||
switch (item) { | switch (item) { | |||
case 0: /* kernel.all.pressure.io.some.avg */ | case 0: /* kernel.all.pressure.io.some.avg */ | |||
if (proc_pressure.some_io.updated == 0) | if (proc_pressure.some_io.updated == 0) | |||
return 0; | return 0; | |||
if (average_proc_pressure(&proc_pressure.some_io, inst, atom) < 0) | if (average_proc_pressure(&proc_pressure.some_io, inst, atom) < 0) | |||
return PM_ERR_INST; | return PM_ERR_INST; | |||
break; | break; | |||
case 1: /* kernel.all.pressure.io.some.total */ | case 1: /* kernel.all.pressure.io.some.total */ | |||
if (proc_pressure.some_io.updated == 0) | if (proc_pressure.some_io.updated == 0) | |||
return 0; | return 0; | |||
atom->ull = proc_pressure.some_io.total; | atom->ull = proc_pressure.some_io.total; | |||
break; | break; | |||
case 2: /* kernel.all.pressure.io.full.avg */ | case 2: /* kernel.all.pressure.io.full.avg */ | |||
if (proc_pressure.full_io.updated == 0) | if (proc_pressure.full_io.updated == 0) | |||
return 0; | return 0; | |||
if (average_proc_pressure(&proc_pressure.full_io, inst, atom) < 0) | if (average_proc_pressure(&proc_pressure.full_io, inst, atom) < 0) | |||
return PM_ERR_INST; | return PM_ERR_INST; | |||
break; | break; | |||
case 3: /* kernel.all.pressure.io.full.total */ | case 3: /* kernel.all.pressure.io.full.total */ | |||
if (proc_pressure.full_io.updated == 0) | if (proc_pressure.full_io.updated == 0) | |||
return 0; | return 0; | |||
atom->ull = proc_pressure.full_io.total; | atom->ull = proc_pressure.full_io.total; | |||
break; | break; | |||
default: | default: | |||
return PM_ERR_PMID; | return PM_ERR_PMID; | |||
} | } | |||
break; | break; | |||
case CLUSTER_PRESSURE_IRQ: | ||||
switch (item) { | ||||
case 0: /* kernel.all.pressure.irq.full.avg */ | ||||
if (proc_pressure.full_irq.updated == 0) | ||||
return 0; | ||||
if (average_proc_pressure(&proc_pressure.full_irq, inst, atom) < 0) | ||||
return PM_ERR_INST; | ||||
break; | ||||
case 1: /* kernel.all.pressure.irq.full.total */ | ||||
if (proc_pressure.full_irq.updated == 0) | ||||
return 0; | ||||
atom->ull = proc_pressure.full_irq.total; | ||||
break; | ||||
default: | ||||
return PM_ERR_PMID; | ||||
} | ||||
break; | ||||
case CLUSTER_FCHOST: | case CLUSTER_FCHOST: | |||
if (item == FCHOST_HINV_NFCHOST) { | if (item == FCHOST_HINV_NFCHOST) { | |||
/* hinv.nfchost */ | /* hinv.nfchost */ | |||
atom->ul = pmdaCacheOp(INDOM(FCHOST_INDOM), PMDA_CACHE_SIZE_ACTIVE); | atom->ul = pmdaCacheOp(INDOM(FCHOST_INDOM), PMDA_CACHE_SIZE_ACTIVE); | |||
} | } | |||
else { | else { | |||
/* | /* | |||
* fchost.* metrics are direct indexed by item, see sysfs_fchost.h | * fchost.* metrics are direct indexed by item, see sysfs_fchost.h | |||
*/ | */ | |||
fchost_t *fchost = NULL; | fchost_t *fchost = NULL; | |||
End of changes. 9 change blocks. | ||||
6 lines changed or deleted | 32 lines changed or added |