diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-28 10:13:16 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-28 10:13:16 -0800 | 
| commit | 642c4c75a765d7a3244ab39c8e6fb09be21eca5b (patch) | |
| tree | ce0be9b476f362835d3a3d6e4fd32801cd15c9fe /lib/radix-tree.c | |
| parent | f91b22c35f6b0ae06ec5b67922eca1999c3b6e0a (diff) | |
| parent | 71da81324c83ef65bb196c7f874ac1c6996d8287 (diff) | |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (44 commits)
  rcu: Fix accelerated GPs for last non-dynticked CPU
  rcu: Make non-RCU_PROVE_LOCKING rcu_read_lock_sched_held() understand boot
  rcu: Fix accelerated grace periods for last non-dynticked CPU
  rcu: Export rcu_scheduler_active
  rcu: Make rcu_read_lock_sched_held() take boot time into account
  rcu: Make lockdep_rcu_dereference() message less alarmist
  sched, cgroups: Fix module export
  rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information
  rcu: Fix rcutorture mod_timer argument to delay one jiffy
  rcu: Fix deadlock in TREE_PREEMPT_RCU CPU stall detection
  rcu: Convert to raw_spinlocks
  rcu: Stop overflowing signed integers
  rcu: Use canonical URL for Mathieu's dissertation
  rcu: Accelerate grace period if last non-dynticked CPU
  rcu: Fix citation of Mathieu's dissertation
  rcu: Documentation update for CONFIG_PROVE_RCU
  security: Apply lockdep-based checking to rcu_dereference() uses
  idr: Apply lockdep-based diagnostics to rcu_dereference() uses
  radix-tree: Disable RCU lockdep checking in radix tree
  vfs: Abstract rcu_dereference_check for files-fdtable use
  ...
Diffstat (limited to 'lib/radix-tree.c')
| -rw-r--r-- | lib/radix-tree.c | 24 | 
1 files changed, 12 insertions, 12 deletions
diff --git a/lib/radix-tree.c b/lib/radix-tree.c index 92cdd9936e3..6b9670d6bbf 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -364,7 +364,7 @@ static void *radix_tree_lookup_element(struct radix_tree_root *root,  	unsigned int height, shift;  	struct radix_tree_node *node, **slot; -	node = rcu_dereference(root->rnode); +	node = rcu_dereference_raw(root->rnode);  	if (node == NULL)  		return NULL; @@ -384,7 +384,7 @@ static void *radix_tree_lookup_element(struct radix_tree_root *root,  	do {  		slot = (struct radix_tree_node **)  			(node->slots + ((index>>shift) & RADIX_TREE_MAP_MASK)); -		node = rcu_dereference(*slot); +		node = rcu_dereference_raw(*slot);  		if (node == NULL)  			return NULL; @@ -568,7 +568,7 @@ int radix_tree_tag_get(struct radix_tree_root *root,  	if (!root_tag_get(root, tag))  		return 0; -	node = rcu_dereference(root->rnode); +	node = rcu_dereference_raw(root->rnode);  	if (node == NULL)  		return 0; @@ -602,7 +602,7 @@ int radix_tree_tag_get(struct radix_tree_root *root,  			BUG_ON(ret && saw_unset_tag);  			return !!ret;  		} -		node = rcu_dereference(node->slots[offset]); +		node = rcu_dereference_raw(node->slots[offset]);  		shift -= RADIX_TREE_MAP_SHIFT;  		height--;  	} @@ -711,7 +711,7 @@ __lookup(struct radix_tree_node *slot, void ***results, unsigned long index,  		}  		shift -= RADIX_TREE_MAP_SHIFT; -		slot = rcu_dereference(slot->slots[i]); +		slot = rcu_dereference_raw(slot->slots[i]);  		if (slot == NULL)  			goto out;  	} @@ -758,7 +758,7 @@ radix_tree_gang_lookup(struct radix_tree_root *root, void **results,  	unsigned long cur_index = first_index;  	unsigned int ret; -	node = rcu_dereference(root->rnode); +	node = rcu_dereference_raw(root->rnode);  	if (!node)  		return 0; @@ -787,7 +787,7 @@ radix_tree_gang_lookup(struct radix_tree_root *root, void **results,  			slot = *(((void ***)results)[ret + i]);  			if (!slot)  				continue; -			results[ret + nr_found] = rcu_dereference(slot); +			results[ret + nr_found] = rcu_dereference_raw(slot);  			nr_found++;  		}  		ret += nr_found; @@ -826,7 +826,7 @@ radix_tree_gang_lookup_slot(struct radix_tree_root *root, void ***results,  	unsigned long cur_index = first_index;  	unsigned int ret; -	node = rcu_dereference(root->rnode); +	node = rcu_dereference_raw(root->rnode);  	if (!node)  		return 0; @@ -915,7 +915,7 @@ __lookup_tag(struct radix_tree_node *slot, void ***results, unsigned long index,  			}  		}  		shift -= RADIX_TREE_MAP_SHIFT; -		slot = rcu_dereference(slot->slots[i]); +		slot = rcu_dereference_raw(slot->slots[i]);  		if (slot == NULL)  			break;  	} @@ -951,7 +951,7 @@ radix_tree_gang_lookup_tag(struct radix_tree_root *root, void **results,  	if (!root_tag_get(root, tag))  		return 0; -	node = rcu_dereference(root->rnode); +	node = rcu_dereference_raw(root->rnode);  	if (!node)  		return 0; @@ -980,7 +980,7 @@ radix_tree_gang_lookup_tag(struct radix_tree_root *root, void **results,  			slot = *(((void ***)results)[ret + i]);  			if (!slot)  				continue; -			results[ret + nr_found] = rcu_dereference(slot); +			results[ret + nr_found] = rcu_dereference_raw(slot);  			nr_found++;  		}  		ret += nr_found; @@ -1020,7 +1020,7 @@ radix_tree_gang_lookup_tag_slot(struct radix_tree_root *root, void ***results,  	if (!root_tag_get(root, tag))  		return 0; -	node = rcu_dereference(root->rnode); +	node = rcu_dereference_raw(root->rnode);  	if (!node)  		return 0;  | 
