'\" t .\" Title: synchronize_rcu_expedited .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: May 2018 .\" Manual: Driver Basics .\" Source: Kernel Hackers Manual 3.16.56 .\" Language: English .\" .TH "SYNCHRONIZE_RCU_EXPE" "9" "May 2018" "Kernel Hackers Manual 3\&.16\&" "Driver Basics" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" synchronize_rcu_expedited \- Brute\-force RCU grace period .SH "SYNOPSIS" .HP \w'void\ synchronize_rcu_expedited('u .BI "void synchronize_rcu_expedited(" "void" ");" .SH "ARGUMENTS" .PP \fIvoid\fR .RS 4 no arguments .RE .SH "DESCRIPTION" .PP .PP Wait for an RCU\-preempt grace period, but expedite it\&. The basic idea is to invoke \fBsynchronize_sched_expedited\fR to push all the tasks to the \->blkd_tasks lists and wait for this list to drain\&. This consumes significant time on all CPUs and is unfriendly to real\-time workloads, so is thus not recommended for any sort of common\-case code\&. In fact, if you are using \fBsynchronize_rcu_expedited\fR in a loop, please restructure your code to batch your updates, and then Use a single \fBsynchronize_rcu\fR instead\&. .PP Note that it is illegal to call this function while holding any lock that is acquired by a CPU\-hotplug notifier\&. And yes, it is also illegal to call this function from a CPU\-hotplug notifier\&. Failing to observe these restriction will result in deadlock\&. .SH "COPYRIGHT" .br