Hi all,

     Can anyone explain what is struct rcu_data and what does it store.

/*  92 <http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L92>
* Note a quiescent state.  Because we do not need to know  93
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L93> * how
many quiescent states passed, just if there was at least  94
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L94> * one
since the start of the grace period, this just sets a flag.  95
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L95> */  96
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L96>void
rcu_sched_qs <http://lxr.linux.no/linux+v2.6.32/kernel/+code=rcu_sched_qs>(int
cpu <http://lxr.linux.no/linux+v2.6.32/kernel/+code=cpu>)  97
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L97>{  98
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L98>
struct rcu_data
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=rcu_data> *rdp
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=rdp>;  99
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L99> 100
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L100>
 rdp <http://lxr.linux.no/linux+v2.6.32/kernel/+code=rdp> = &per_cpu
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=per_cpu>(rcu_sched_data
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=rcu_sched_data>, cpu
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=cpu>); 101
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L101>
 rdp 
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=rdp>->passed_quiesc_completed
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=passed_quiesc_completed>
= rdp <http://lxr.linux.no/linux+v2.6.32/kernel/+code=rdp>->completed
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=completed>; 102
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L102>
 barrier <http://lxr.linux.no/linux+v2.6.32/kernel/+code=barrier>();
103 <http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L103>
     rdp <http://lxr.linux.no/linux+v2.6.32/kernel/+code=rdp>->passed_quiesc
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=passed_quiesc> = 1;
104 <http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L104>
     rcu_preempt_note_context_switch
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=rcu_preempt_note_context_switch>(cpu
<http://lxr.linux.no/linux+v2.6.32/kernel/+code=cpu>); 105
<http://lxr.linux.no/linux+v2.6.32/kernel/kernel/rcutree.c#L105>}


which is in kernel/rcu_tree.c


Thanks in advance.


S

Reply via email to