Workqueues and Kevents

queue_work — queue work on a workqueue
queue_work_on — queue work on specific cpu
queue_delayed_work — queue work on a workqueue after delay
queue_delayed_work_on — queue work on specific CPU after delay
flush_workqueue — ensure that any scheduled work has run to completion.
flush_work — wait for a work to finish executing the last queueing instance
flush_work_sync — wait until a work has finished execution
cancel_work_sync — cancel a work and wait for it to finish
flush_delayed_work — wait for a dwork to finish executing the last queueing
flush_delayed_work_sync — wait for a dwork to finish
cancel_delayed_work_sync — cancel a delayed work and wait for it to finish
schedule_work — put work task in global workqueue
schedule_delayed_work — put work task in global workqueue after delay
schedule_delayed_work_on — queue work in global workqueue on CPU after delay
flush_scheduled_work — ensure that any scheduled work has run to completion.
execute_in_process_context — reliably execute the routine with user context
destroy_workqueue — safely terminate a workqueue
workqueue_set_max_active — adjust max_active of a workqueue
workqueue_congested — test whether a workqueue is congested
work_cpu — return the last known associated cpu for work
work_busy — test whether a work is currently pending or running
work_on_cpu — run a function in user context on a particular cpu