workqueue_u...eping_update(9)
π¦ workqueue_u...eping_update β the sparkling kernel API manual bestie edition
okay so this whole page lives in the Kernel API Manual, and the star of the show is workqueue_unbound_housekeeping_update. she's a little function with a big job and honestly? she ate π
β¨ NAME β¨
workqueue_unbound_housekeeping_update β the one that propagates the housekeeping cpumask update, no cap πΈ
π SYNOPSIS π
int workqueue_unbound_housekeeping_update (const struct cpumask *hk );
like. that's the whole vibe. one function, one pointer, iconic β¨
π ARGUMENTS π
hkβ the new housekeeping cpumask π«Ά literally just the fresh cpumask, hand it over and let her cook
π₯ DESCRIPTION π₯
okay so here's the tea π: this function updates the unbound workqueue cpumask on top of the new housekeeping cpumask. and the way it does that? the effective unbound affinity becomes the intersection of the new housekeeping with the requested affinity set via nohz_full= / isolcpus= or sysfs. intersection, bestie β both sets gotta agree, that's the whole point πβ¨
like, nobody's out here overriding anybody. it's giving collaboration. it's giving set math. it's giving main character energy π
β RETURN β
0β success, we love to see it, slay π-errnoβ failure, and she tells you exactly why with the errno, ngl very thoughtful of her π
π SEE ALSO π
the whole friend group showed up fr fr β first off, the kernel file itself: ./kernel/workqueue.c, and then the entire squad:
for_each_pool(9), for_each_pool_worker(9), for_each_pwq(9), worker_pool_assign_id(9), unbound_effective_cpumask(9), get_work_pool(9), worker_set_flags(9), worker_clr_flags(9), worker_enter_idle(9), worker_leave_idle(9), find_worker_executing_work(9), move_linked_works(9), assign_work(9), kick_pool_pick(9), kick_pool(9), wq_worker_running(9), wq_worker_sleeping(9), wq_worker_tick(9), wq_worker_last_func(9), wq_node_nr_active(9), wq_update_node_max_active(9), get_pwq(9), put_pwq(9), put_pwq_unlocked(9), pwq_tryinc_nr_active(9), pwq_activate_first_inactive(9), unplug_oldest_pwq(9), node_activate_pending_pwq(9), pwq_dec_nr_active(9), pwq_dec_nr_in_flight(9), try_to_grab_pending(9), work_grab_pending(9), insert_work(9), queue_work_on(9), select_numa_node_cpu(9), queue_work_node(9), queue_delayed_work_on(9), mod_delayed_work_on(9), queue_rcu_work(9), worker_attach_to_pool(9), worker_detach_from_pool(9), create_worker(9), set_worker_dying(9), idle_worker_timeout(9), idle_cull_fn(9), maybe_create_worker(9), manage_workers(9), process_one_work(9), process_scheduled_works(9), worker_thread(9), rescuer_thread(9), check_flush_dependency(9), insert_wq_barrier(9), flush_workqueue_prep_pwqs(9), __flush_workqueue(9), drain_workqueue(9), flush_work(9), flush_delayed_work(9), flush_rcu_work(9), cancel_work_sync(9), cancel_delayed_work(9), cancel_delayed_work_sync(9), disable_work(9), disable_work_sync(9), enable_work(9), disable_delayed_work(9), disable_delayed_work_sync(9), enable_delayed_work(9), schedule_on_each_cpu(9), execute_in_process_context(9), free_workqueue_attrs(9), alloc_workqueue_attrs(9), init_worker_pool(9), put_unbound_pool(9), get_unbound_pool(9), wq_calc_pod_cpumask(9), apply_workqueue_attrs(9), unbound_wq_update_pwq(9), wq_adjust_max_active(9), destroy_workqueue(9), workqueue_set_max_active(9), workqueue_set_min_active(9), current_work(9), current_is_workqueue_rescuer(9), current_is_workqueue_mem_reclaim(9), workqueue_congested(9), work_busy(9), set_worker_desc(9), print_worker_info(9), show_one_workqueue(9), show_one_worker_pool(9), show_all_workqueues(9), show_freezable_workqueues(9), rebind_workers(9), restore_unbound_workers_cpumask(9), work_on_cpu_key(9), freeze_workqueues_begin(9), freeze_workqueues_busy(9), thaw_workqueues(9), workqueue_set_unbound_cpumask(9), workqueue_sysfs_register(9), workqueue_sysfs_unregister(9), workqueue_init_early(9), workqueue_init(9), llc_count_cores(9), llc_populate_cpu_shard_id(9), precompute_cache_shard_ids(9), workqueue_init_topology(9)
that's the group chat. every single one of them. go read them, iykyk π
and that's the page, bestie π§π« this lil beauty ships from ./kernel, dated October 2026, and yes the manual name up top said Kernel API Manual the whole time β mwah, go touch some cpumasks πππ«Ά
π¦ 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