Workqueues and Kevents

queue_work — queue work on a workqueue
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.
cancel_work_sync — block until a work_struct's callback has terminated
cancel_delayed_work_sync — reliably kill off a delayed work.
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
execute_in_process_context — reliably execute the routine with user context
destroy_workqueue — safely terminate a workqueue