<div dir="ltr">Hi, <div>I am new for using rcu and I need some helps for integrating user space rcu into my project for solving performance issue.</div><div>In my project, I create 2 link list - one for free pool, one for using pool.</div><div>Free pool used to hold a segment of memory that no-one use.</div><div>Using pool used to hold a segment of memory that someone use.</div><div>Originally, I use a pthread_spin_lock to protect</div><div>1. alloc memory segment from free pool, and move memory segment from free pool to using pool</div><div>2. free memory segment from using pool, and move memory segment from free pool to using pool

</div><div><br></div><div>For RCU, I change the list_move_tail as following</div><div>cds_list_for_each_entry_safe(cur, next, &(membk_pool->bk_free_pool), entry_pool) {<br></div><div>    cds_list_del_rcu(&cur->entry_pool);<br></div><div>    urcu_bp_synchronize_rcu();<br></div><div>    cds_list_add_tail_rcu(&ret->entry_pool, &(membk_pool->bk_using_pool));</div><div>}</div><div><br></div><div>Is it ok to use scenario like this?</div><div><br></div><div>Meanwhile, that are some advance list operation API:</div><div>1. list_first_entry</div><div>2. list_first_entry_or_null</div><div>Is it possible to integrate these into current urcu?</div><div><br></div><div>Thanks</div><div><br></div><div><br></div></div>