qman_create_cgr(9)
π qman_create_cgr β the Kernel API Manual, bestie edition (section 9, obviously)
okay so picture this: you're deep in the Linux kernel API manual, section 9, and you've stumbled onto qman_create_cgr(9) β yes that's the real name, that's the page, we're doing this π
β¨ NAME β¨
qman_create_cgr β literally just register a congestion group object. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
int qman_create_cgr (struct qman_cgr *cgr , u32 flags , struct
qm_mcc_initcgr *opts );
she takes three things and returns an int, periodt π
π ARGUMENTS π
cgrβ the'cgr'object itself, with its fields already filled in. like, you gotta bring your own homework here, she's not doing it for you πflagsβ theQMAN_CGR_FLAG_*values. pick your flags, bestie β¨optsβ optional state of CGR settings. optional!! key word π
π₯ DESCRIPTION π₯
So what does she actually do? She registers this object for receiving congestion entry/exit callbacks β and the way she does it is on the portal affine to the cpu portal on which this API is executed. iykyk π
If opts is NULL then only the callback (cgr->cb) function is registered. that's it. that's the whole registration. lowkey minimal π«Ά
But if flags contains QMAN_CGR_FLAG_USE_INIT, then an init hw command will be used rather than a modify hw hardware. and yes, the init hw command will reset any unspecified parameters β so if you weren't paying attention to the ones you left out, they're getting reset, no cap π (the modify hw hardware, for the record, only modifies the specified parameters β much more chill about it).
fr fr read that flag twice before you set it. resetting unspecified parameters is exactly as much of a moment as it sounds π
π SEE ALSO π
- Kernel file
./include/soc/fsl/qman.h qman_p_irqsource_add(9)qman_p_irqsource_remove(9)qman_affine_cpus(9)qman_affine_channel(9)qman_get_affine_portal(9)qman_start_using_portal(9)qman_p_poll_dqrr(9)qman_p_static_dequeue_add(9)qman_create_fq(9)qman_destroy_fq(9)qman_fq_fqid(9)qman_init_fq(9)qman_schedule_fq(9)qman_retire_fq(9)qman_oos_fq(9)qman_enqueue(9)qman_alloc_fqid_range(9)qman_release_fqid(9)qman_query_fq_np(9)qman_alloc_pool_range(9)qman_release_pool(9)qman_delete_cgr(9)qman_delete_cgr_safe(9)qman_update_cgr_safe(9)qman_query_cgr_congested(9)qman_alloc_cgrid_range(9)qman_release_cgrid(9)qman_is_probed(9)qman_portals_probed(9)qman_dqrr_get_ithresh(9)qman_dqrr_set_ithresh(9)
like, the whole friend group showed up to this party π§π
and that's the page!! mwah π sign-off time: this one lives in ./include/soc/fsl, dated October 2026, and it answers to qman_create_cgr(9) β go forth and register responsibly, bestie πβ
π¦ 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