scx_bpf_put_cpumask(9)
๐ scx_bpf_put_cpumask(9) โ from the Kernel API Manual, bestie ๐ซถ
okay so. you know how every getter in the kernel has a matching putter, right? this is the putter. it's the "okay i'm done with this cpumask now, you can have it back" function, and it lives in the Kernel API Manual section 9, which is where all the kernel-API kfuncs hang out. it's short, it's sweet, it's giving "one job and it does it" energy โจ
๐ NAME ๐
scx_bpf_put_cpumask โ release a possible/online cpumask ๐
like, literally just let it go. it's the release counterpart. the "return the rental car" moment. no cap ๐
โจ SYNOPSIS โจ
__bpf_kfunc void scx_bpf_put_cpumask (const struct cpumask *cpumask );
that's the whole thing. __bpf_kfunc void โ so it's a BPF kfunc, and it returns nothing, because there's nothing to return, because releasing things just happens ๐ธ
๐ ARGUMENTS ๐
cpumaskโ cpumask to release ๐ฆ
that's it. that's the whole argument list. one pointer, one job. iconic honestly ๐
๐ tiny reminder bestie: this is the release side. whatever cpumask you're handing over here is one you got from the matching getter (scx_bpf_get_possible_cpumask(9)andscx_bpf_get_online_cpumask(9)are literally right there in SEE ALSO, iykyk). the page doesn't say anything else about ownership or lifetimes, so don't go inventing rules โ just pass the cpumask and let it go ๐
๐ฅ SEE ALSO ๐ฅ
okay this section ate. and by "ate" i mean there are like NINETY cross-references and i'm listing every single one because we don't skip. periodt ๐
the kernel file is ./kernel/sched/ext/ext.c, and here's the whole friend group:
scx_is_descendant(9)rq_is_open(9)scx_fill_cmask_scratch(9)scx_call_op_set_cpumask(9)nldsq_next_task(9)nldsq_cursor_next_task(9)nldsq_cursor_lost_task(9)scx_task_iter_start(9)scx_task_iter_unlock(9)scx_task_iter_relock(9)scx_task_iter_stop(9)scx_task_iter_next(9)scx_task_iter_next_locked(9)scx_dump_event(9)wait_ops_state(9)scx_cpu_valid(9)schedule_deferred(9)schedule_deferred_locked(9)dsq_insert_head(9)set_task_slice_keep_oob(9)scx_task_slice_ended(9)move_remote_task_to_local_dsq(9)unlink_dsq_and_switch_rq_lock(9)move_task_between_dsqs(9)dispatch_to_local_dsq(9)finish_dispatch(9)scx_prio_less(9)__scx_init_task(9)task_dead_and_done(9)scx_tg_sched(9)scx_tg_knob_sched(9)handle_lockup(9)scx_rcu_cpu_stall(9)scx_softlockup(9)scx_hardlockup(9)unbypass_renotify_idle(9)scx_bypass(9)scx_propagate_exit_irq_workfn(9)scx_flush_disable_work(9)print_scx_info(9)scx_bpf_dsq_insert___v2(9)__scx_bpf_dsq_insert_vtime(9)scx_bpf_dispatch_nr_slots(9)scx_bpf_dispatch_cancel(9)scx_bpf_dsq_move_to_local___v2(9)scx_bpf_dsq_move_set_slice(9)scx_bpf_dsq_move_set_vtime(9)scx_bpf_dsq_move(9)scx_bpf_dsq_move_vtime(9)scx_bpf_reenqueue_local(9)scx_bpf_create_dsq(9)scx_bpf_task_set_slice(9)scx_bpf_task_set_dsq_vtime(9)scx_bpf_kick_cpu(9)scx_bpf_kick_cid(9)scx_bpf_dsq_nr_queued(9)scx_bpf_destroy_dsq(9)bpf_iter_scx_dsq_new(9)bpf_iter_scx_dsq_next(9)bpf_iter_scx_dsq_destroy(9)scx_bpf_dsq_peek(9)scx_bpf_dsq_reenq(9)scx_bpf_reenqueue_local___v2(9)scx_bpf_exit_bstr(9)scx_bpf_error_bstr(9)scx_bpf_dump_bstr(9)scx_bpf_cpuperf_cap(9)scx_bpf_cidperf_cap(9)scx_bpf_cpuperf_cur(9)scx_bpf_cidperf_cur(9)scx_bpf_cpuperf_set(9)scx_bpf_cidperf_set(9)scx_bpf_nr_node_ids(9)scx_bpf_nr_cpu_ids(9)scx_bpf_nr_cids(9)scx_bpf_nr_online_cids(9)scx_bpf_online_cmask(9)scx_bpf_this_cid(9)scx_bpf_get_possible_cpumask(9)scx_bpf_get_online_cpumask(9)scx_bpf_task_running(9)scx_bpf_task_cpu(9)scx_bpf_task_cid(9)scx_bpf_locked_rq(9)scx_bpf_cpu_curr(9)scx_bpf_cid_curr(9)scx_bpf_tid_to_task(9)scx_bpf_now(9)scx_bpf_events(9)scx_bpf_task_cgroup(9)
yeah. ninety of them. i counted so you don't have to ๐งฎโจ read them, love them, they're all (9) section pages ๐ซถ
and that's the whole page bestie!! it's short because the function is short, and honestly? respect. sometimes a function is just "release the cpumask" and that's its entire personality ๐
sign-off time ๐ this lil beauty lives in the ./kernel/sched/ext corner of the tree, and it's dated October 2026 (yes, the future, don't ask, we don't question the calendar here ๐ฆ). go forth and release your cpumasks responsibly. mwah ๐๐ธ
๐ฆ 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