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