Project

General

Profile

Actions

Feature #3832

open

147: RCU update operations should not be used inside RCU read sections

Added by Vadim Mutilin about 9 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Start date:
12/27/2012
Due date:
% Done:

0%

Estimated time:
Published in build:

Description

Name
RCU update operations inside read sections
Title
RCU update operations should not be used inside RCU read sections
Description
Update operations in RCU like rcu_assign_pointer wait until all updates will be accepted including current thread. Threads in read section can accept updates only after leaving critical section (in rcu_read_unlock).
It is prohibited to call update operations inside RCU read section, because in this case current thread will wait for the end of own read section and will be deadlocked.
Examples
Example of incorrect behavior:
int *gv;
int *v;

rcu_read_lock(); // starting read section
*v = 2;
rcu_assign_pointer(gv,v); //update operation
rcu_read_unlock(); //unreachable operation

No data to display

Actions

Also available in: Atom PDF