static __always_inline void pseries_idle_prolog(void)
{
ppc64_runlatch_off();
snapshot_purr_idle_entry();
snapshot_spurr_idle_entry(); /* * Indicate to the HV that we are idle. Now would be * a good time to find other work to dispatch.
*/
get_lppaca()->idle = 1;
}
staticinline u64 read_this_idle_purr(void)
{ /* * If we are reading from an idle context, update the * idle-purr cycles corresponding to the last idle period. * Since the idle context is not yet over, take a fresh * snapshot of the idle-purr.
*/ if (unlikely(get_lppaca()->idle == 1)) {
update_idle_purr_accounting();
snapshot_purr_idle_entry();
}
staticinline u64 read_this_idle_spurr(void)
{ /* * If we are reading from an idle context, update the * idle-spurr cycles corresponding to the last idle period. * Since the idle context is not yet over, take a fresh * snapshot of the idle-spurr.
*/ if (get_lppaca()->idle == 1) {
update_idle_spurr_accounting();
snapshot_spurr_idle_entry();
}
return *this_cpu_ptr(&idle_spurr_cycles);
}
#endif/* CONFIG_PPC_PSERIES */ #endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
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.