switch (config) { case L1_TO_L2_CS_LAT: if (event->attach_state & PERF_ATTACH_TASK)
data = kvmhv_get_l1_to_l2_cs_time_vcpu(); else
data = kvmhv_get_l1_to_l2_cs_time(); break; case L2_TO_L1_CS_LAT: if (event->attach_state & PERF_ATTACH_TASK)
data = kvmhv_get_l2_to_l1_cs_time_vcpu(); else
data = kvmhv_get_l2_to_l1_cs_time(); break; case L2_RUNTIME_AGG: if (event->attach_state & PERF_ATTACH_TASK)
data = kvmhv_get_l2_runtime_agg_vcpu(); else
data = kvmhv_get_l2_runtime_agg(); break; default:
data = 0; break;
}
return data;
}
staticint vpa_pmu_add(struct perf_event *event, int flags)
{
u64 data;
staticint __init pseries_vpa_pmu_init(void)
{ /* * List of current Linux on Power platforms and * this driver is supported only in PowerVM LPAR * (L1) platform. * * Enabled Linux on Power Platforms * ---------------------------------------- * [X] PowerVM LPAR (L1) * [ ] KVM Guest On PowerVM KoP(L2) * [ ] Baremetal(PowerNV) * [ ] KVM Guest On PowerNV
*/ if (!firmware_has_feature(FW_FEATURE_LPAR) || is_kvm_guest()) return -ENODEV;
perf_pmu_register(&vpa_pmu, vpa_pmu.name, -1);
pr_info("Virtual Processor Area PMU registered.\n");
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.