* Peter Zijlstra <pet...@infradead.org> [2013-10-08 12:25:07]: > From: Oleg Nesterov <o...@redhat.com> > > It is functionally equivalent to > > struct rcu_sync_struct { > atomic_t counter; > }; > > static inline bool rcu_sync_is_idle(struct rcu_sync_struct *xxx) > { > return atomic_read(&xxx->counter) == 0; > } > > static inline void rcu_sync_enter(struct rcu_sync_struct *xxx) > { > atomic_inc(&xxx->counter); > synchronize_sched(); > } > > static inline void rcu_sync_enter(struct rcu_sync_struct *xxx)
Guess you meant rcu_sync_exit > { > synchronize_sched(); > atomic_dec(&xxx->counter); > } > > except: it records the state and synchronize_sched() is only called by > rcu_sync_enter() and only if necessary. > -- Thanks and Regards Srikar Dronamraju -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/