*
* Userspace RCU library
*
- * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
+ * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
* Copyright (c) 2009 Paul E. McKenney, IBM Corporation.
*
* This library is free software; you can redistribute it and/or
* safe and don't assume anything : we use smp_mc() to make sure the
* cache flush is enforced.
*/
- list_for_each_entry(index, ®istry, head) {
+ list_for_each_entry(index, ®istry, node) {
STORE_SHARED(index->need_mb, 1);
pthread_kill(index->tid, SIGRCU);
}
* relevant bug report. For Linux kernels, we recommend getting
* the Linux Test Project (LTP).
*/
- list_for_each_entry(index, ®istry, head) {
+ list_for_each_entry(index, ®istry, node) {
while (LOAD_SHARED(index->need_mb)) {
pthread_kill(index->tid, SIGRCU);
poll(NULL, 0, 1);
smp_mb_master(RCU_MB_GROUP);
}
- list_for_each_entry_safe(index, tmp, ®istry, head) {
+ list_for_each_entry_safe(index, tmp, ®istry, node) {
if (!rcu_gp_ongoing(&index->ctr))
- list_move(&index->head, &qsreaders);
+ list_move(&index->node, &qsreaders);
}
#ifndef HAS_INCOHERENT_CACHES
mutex_lock(&rcu_gp_lock);
rcu_init(); /* In case gcc does not support constructor attribute */
- list_add(&rcu_reader.head, ®istry);
+ list_add(&rcu_reader.node, ®istry);
mutex_unlock(&rcu_gp_lock);
}
void rcu_unregister_thread(void)
{
mutex_lock(&rcu_gp_lock);
- list_del(&rcu_reader.head);
+ list_del(&rcu_reader.node);
mutex_unlock(&rcu_gp_lock);
}