centos man page for flush_scheduled_work

Query: flush_scheduled_work

OS: centos

Section: 9

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

FLUSH_SCHEDULED_WORK(9) 					   Driver Basics					   FLUSH_SCHEDULED_WORK(9)

NAME
flush_scheduled_work - ensure that any scheduled work has run to completion.
SYNOPSIS
void flush_scheduled_work(void);
ARGUMENTS
void no arguments
DESCRIPTION
Forces execution of the kernel-global workqueue and blocks until its completion. Think twice before calling this function! It's very easy to get into trouble if you don't take great care. Either of the following situations
WILL LEAD TO DEADLOCK
One of the work items currently on the workqueue needs to acquire a lock held by your code or its caller. Your code is running in the context of a work routine. They will be detected by lockdep when they occur, but the first might not occur very often. It depends on what work items are on the workqueue and what locks they need, which you have no control over. In most situations flushing the entire workqueue is overkill; you merely need to know that a particular work item isn't queued and isn't running. In such cases you should use cancel_delayed_work_sync or cancel_work_sync instead.
COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 FLUSH_SCHEDULED_WORK(9)
Related Man Pages
usb_kill_urb(9) - centos
pthread_workqueue(3) - debian
usb_queue_reset_device(9) - suse
sysmon_task_queue_fini(9) - netbsd
workqueue_enqueue(9) - netbsd
Similar Topics in the Unix Linux Community
How to increment version inside a file?
Docker learning Phase-I
Unsure why access time on a directory change isn't changing
CentOS 6 ran out of space, need to reclaim it
[TIP] Processing YAML files with yq