workqueue_sysfs_unregister(9)
π workqueue_sysfs_unregister β like, the undo button for sysfs registration
okay so bestie, real talk: this one is a Kernel API Manual page (yes, kernel land has its own manual, we stan). Sit down, hydrate, and let's get into it π«Ά
πΈ NAME
workqueue_sysfs_unregister β the function that undoes workqueue_sysfs_register(). That's it. That's the whole vibe. Ctrl+Z but for sysfs, periodt β¨
π¦ SYNOPSIS
void workqueue_sysfs_unregister (struct workqueue_struct *wq );
It returns void, meaning no return value, no receipts, no "how did it go" β it just does the thing and leaves π
π ARGUMENTS
wqβ the workqueue you want to unregister. Like, the actual one. The workqueue in question. Your girl π«Ά
π DESCRIPTION
So here's the tea: if wq was registered to sysfs by workqueue_sysfs_register, then this function unregisters it. That's the entire description, no cap β it's a conditional unregister and it does exactly what it says on the tin π
Lowkey a short one today besties, not every kernel function needs a whole saga β¨
π SEE ALSO
Okay this is the part where the page just goes feral and lists literally everything in the workqueue cinematic universe. Grab a snack π
First up, the kernel file: ./kernel/workqueue.c β the main character itself π
Then, in the order the page serves them to you:
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) π₯
Then the worker-pool girlies: 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) π§
Then the flush + cancel squad, highkey iconic: 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) π
Then the attrs + pool management crew: 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) πΈ
Then the "what am I even running right now" lineup: 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) π¦
Then the rebind + freeze/thaw + sysfs clique: 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_unbound_housekeeping_update(9), workqueue_set_unbound_cpumask(9), workqueue_sysfs_register(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) β
(and yes, workqueue_sysfs_register(9) is in there β the function this one is undoing. it's giving self-referential, it's giving circular lore, iykyk π
)
π the cute sign-off
This masterpiece of a page lives in ./kernel, and it's dated October 2026 β future vibes fr fr π¦. Say it with me one last time for the back row: workqueue_sysfs_unregister(9). Obsessed with her, no notes, 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