---
name: "synchronize_rcu_expedited"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/synchronize_rcu_expedited"
---

# synchronize\_rcu\_expedited(9)

Brute-force RCU grace period

## NAME

synchronize\_rcu\_expedited - Brute-force RCU grace period

## SYNOPSIS

**void synchronize\_rcu\_expedited(***void***);**

## ARGUMENTS

*void*

no arguments

## DESCRIPTION

Wait for an RCU-preempt grace period, but expedite it. The basic idea is to invoke **synchronize\_sched\_expedited** 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 **synchronize\_rcu\_expedited** in a loop, please restructure your code to batch your updates, and then Use a single **synchronize\_rcu** instead.

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.

## COPYRIGHT
