Scroll to navigation

SYNCHRONIZE_RCU_EXPE(9) Driver Basics SYNCHRONIZE_RCU_EXPE(9)

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

May 2018 Kernel Hackers Manual 3.16