workqueue_u...eping_update(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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