1SYNCHRONIZE_SCHED(9) Driver Basics SYNCHRONIZE_SCHED(9)
2
3
4
6 synchronize_sched - wait until an rcu-sched grace period has elapsed.
7
9 void synchronize_sched(void);
10
12 void
13 no arguments
14
16 Control will return to the caller some time after a full rcu-sched
17 grace period has elapsed, in other words after all currently executing
18 rcu-sched read-side critical sections have completed. These read-side
19 critical sections are delimited by rcu_read_lock_sched and
20 rcu_read_unlock_sched, and may be nested. Note that preempt_disable,
21 local_irq_disable, and so on may be used in place of
22 rcu_read_lock_sched.
23
24 This means that all preempt_disable code sequences, including NMI and
25 hardware-interrupt handlers, in progress on entry will have completed
26 before this primitive returns. However, this does not guarantee that
27 softirq handlers will have completed, since in some kernels, these
28 handlers can run in process context, and can block.
29
30 This primitive provides the guarantees made by the (now removed)
31 synchronize_kernel API. In contrast, synchronize_rcu only guarantees
32 that rcu_read_lock sections will have completed. In “classic RCU”,
33 these two guarantees happen to be one and the same, but can differ in
34 realtime RCU implementations.
35
37Kernel Hackers Manual 2.6. June 2019 SYNCHRONIZE_SCHED(9)