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
