pse_pi_allo..._static_prio(9)
π pse_pi_allocate_pw_budget_static_prio β kernel API manual, bestie edition π
okay so this is a page from the Kernel API Manual (section 9, the kernel-API girlies) and it's all about pse_pi_allocate_pw_budget_static_prio, which is a whole mouthful but honestly kind of iconic once you get it. It's the function that hands out power budget for the PI when the budget eval strategy is static. Stay with me, we're gonna slay this π«Ά
β¨ NAME β¨
pse_pi_allocate_pw_budget_static_prio β allocate power budget for the PI when the budget eval strategy is static π
like, that's literally the whole job. it allocates power. statically. by priority. no cap.
π¦ SYNOPSIS π¦
int pse_pi_allocate_pw_budget_static_prio (struct pse_controller_dev
*pcdev , int id , int pw_req , struct netlink_ext_ack *extack );
four args, one int back. that's the vibe check and she passes π₯
πΈ ARGUMENTS πΈ
pcdevβ a pointer to the PSE. like, the actual PSE. gotta know which one, bestie πidβ index of the PSE control. which control we're talking about, iykyk.pw_reqβ power requested in mW. milliwatts, not vibes β¨extackβ extack for error reporting. when things go sideways, this is the one that tells the story π
π DESCRIPTION π
So here's the teaaaa π β this one allocates power using the static budget evaluation strategy, where the allocation is based on PD classification. That's the whole system, that's the whole girl.
And the drama? When there's insufficient budget available, the lower-priority ports β which, plot twist, are the ones with higher priority numbers β get turned off first. yes bestie, the numbers go the opposite way you'd expect. it's giving chaos but it's actually very fair π
heads up: higher priority number = lower priority. don't get it twisted, that's literally in the source. π
β RETURN β
0 on success, and a failure value on error. classic. she ate and left no crumbs π
π SEE ALSO π
okay this list is LONG but we're not skipping a single one, that's a promise π«Ά first up, the kernel file: ./drivers/net/pse-pd/pse_core.c
then the whole friend group:
struct pse_control(9)struct pse_power_domain(9)of_load_pse_pi_pairsets(9)of_load_pse_pis(9)pse_control_find_by_id(9)pse_control_get_netdev(9)pse_pi_is_hw_enabled(9)pse_pi_is_admin_enable_pending(9)pse_pw_d_retry_power_delivery(9)pse_pw_d_is_sw_pw_control(9)pse_pi_deallocate_pw_budget(9)_pse_pi_disable(9)pse_disable_pi_pol(9)pse_disable_pi_prio(9)pse_pi_allocate_pw_budget(9)_pse_pi_delivery_power_sw_pw_ctrl(9)pse_flush_pw_ds(9)devm_pse_alloc_pw_d(9)pse_register_pw_ds(9)pse_send_ntf_worker(9)pse_controller_register(9)pse_controller_unregister(9)devm_pse_controller_register(9)pse_to_regulator_notifs(9)pse_set_config_isr(9)pse_isr(9)devm_pse_irq_helper(9)pse_control_put(9)of_pse_match_pi(9)psec_id_xlate(9)pse_get_sw_admin_state(9)pse_ethtool_get_status(9)pse_ethtool_set_config(9)pse_pi_update_pw_budget(9)pse_ethtool_set_pw_limit(9)pse_ethtool_set_prio(9)
thirty-seven entries, all present and accounted for, main character energy from start to finish π
that's the page, bestie!! sourced from ./drivers/net/pse-pd, dated October 2026, and she lives under the pse_pi_allo..._static_prio(9) name in the Kernel API Manual 'cause the title got truncated for the header β iconic honestly. go forth and allocate responsibly πβ¨π
π¦ 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