[lttng-dev] RCU Reclamation

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat Feb 27 08:50:52 EST 2016


----- On Feb 27, 2016, at 8:42 AM, masoud hematpour <mashemat at gmail.com> wrote: 

> Excuse me ,
> C.S1 = abbreviation of Critical Section 1 and the same for C.S2. I mean using
> rcu for two different Critical Sections.
> men_C.S1= I mean the memory that Critical Section1 was reading.

Please keep the list in CC. 

The answer is that synchronize_rcu() will only return 
after the second critical section has completed, 
because in your sequence below, the second critical 
section was running when synchronize_rcu() was 
invoked. 

Thanks, 

Mathieu 

> On Sat, Feb 27, 2016 at 2:32 PM, Mathieu Desnoyers <
> mathieu.desnoyers at efficios.com > wrote:

>> ----- On Feb 27, 2016, at 8:24 AM, masoud hematpour < mashemat at gmail.com >
>> wrote:

>>> Hello to all,

>>> Can you please help me? I confused in the following situation:

>>> CPU0 CPU1
>>> ----------- -----------
>>> rcu_read_lock() .
>>> C.S1 .
>>> rcu_read_unlock() .
>>> .
>>> .
>>> rcu_read_lock()
>>> Update (C.S1)
>>> C.S2 Synchronise_rcu()
>>> free(men_C.S1)
>>> rcu_read_unlock()

>>> synchronize_rcu() wait till end of C.S2?

>> You might want to clarify what "C", "S1", "S2", and
>> "men_C" mean, as well as the meaning of the dot ".".

>> Without context, answering your question would be
>> more guesswork than anything reliable.

>> Thanks,

>> Mathieu

>>> Thank you very much

>>> _______________________________________________
>>> lttng-dev mailing list
>>> lttng-dev at lists.lttng.org
>>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

>> --
>> Mathieu Desnoyers
>> EfficiOS Inc.
>> http://www.efficios.com

-- 
Mathieu Desnoyers 
EfficiOS Inc. 
http://www.efficios.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20160227/776703bd/attachment.html>


More information about the lttng-dev mailing list