update_pm_ru...e_accounting(9)
π update_pm_ru...e_accounting(9) π
okay so bestie, welcome to the Kernel API Manual β and yes, the title really is update_pm_ru...e_accounting(9) with the lil ... in the middle, that's not me being lazy, that's just how it's printed, periodt π
β¨ NAME β¨
update_pm_runtime_accounting β literally just updates the time accounting of power states π
π¦ SYNOPSIS π¦
void update_pm_runtime_accounting (struct device *dev );
π ARGUMENTS π
devβ the device you're doing the accounting for. that's the whole vibe, one (1) device, no cap π«Ά
πΈ DESCRIPTION πΈ
okay so here's the tea β β if we want time accounting of the various power states (you know, the thing programs like PowerTOP use to show you how effective runtime PM is being), we need to actually track how much time gets spent in each state. no tracking, no stats, no slay π
so update_pm_runtime_accounting has to be called each time before the runtime_status field gets updated β that way the time spent in the old state gets accounted correctly. skip it and your numbers are a mess, fr fr π
bestie this is an ordering thing. call it before you touch runtime_status, not after. the old state needs its flowers first π·
π SEE ALSO π
the kernel file, in all its main-character glory:
./drivers/base/power/runtime.c
and now the whole runtime PM squad roll call β every single one of them, in order, no skips π
pm_runtime_deactivate_timer(9)pm_runtime_cancel_pending(9)rpm_check_suspend_allowed(9)pm_runtime_release_supplier(9)__rpm_callback(9)rpm_callback(9)rpm_idle(9)rpm_suspend(9)rpm_resume(9)pm_runtime_work(9)pm_suspend_timer_fn(9)pm_schedule_suspend(9)__pm_runtime_idle(9)__pm_runtime_suspend(9)__pm_runtime_resume(9)pm_runtime_get_conditional(9)pm_runtime_get_if_active(9)pm_runtime_get_if_in_use(9)__pm_runtime_set_status(9)__pm_runtime_barrier(9)pm_runtime_barrier(9)pm_runtime_enable(9)devm_pm_runtime_set_active_enabled(9)devm_pm_runtime_enable(9)devm_pm_runtime_get_noresume(9)pm_runtime_forbid(9)pm_runtime_allow(9)pm_runtime_no_callbacks(9)pm_runtime_irq_safe(9)update_autosuspend(9)pm_runtime_set_autosuspend_delay(9)__pm_runtime_use_autosuspend(9)pm_runtime_init(9)pm_runtime_reinit(9)pm_runtime_remove(9)pm_runtime_get_suppliers(9)pm_runtime_put_suppliers(9)pm_runtime_drop_link(9)pm_runtime_force_suspend(9)pm_runtime_force_resume(9)
β¨ that's the whole page, bestie β¨ this lil cutie lives in ./drivers/base/power, and the version we're looking at is dated October 2026. go account some time, ily, bye πππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms