public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm: remove useless rcu lock-unlock from mapping_tagged()
@ 2011-07-17 11:35 Konstantin Khlebnikov
  2011-07-19 20:55 ` Paul E. McKenney
  0 siblings, 1 reply; 2+ messages in thread
From: Konstantin Khlebnikov @ 2011-07-17 11:35 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel

radix_tree_tagged() is lockless, it does not require any protection.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
---
 mm/page-writeback.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 31f6988..919b45e 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -1405,10 +1405,6 @@ EXPORT_SYMBOL(test_set_page_writeback);
  */
 int mapping_tagged(struct address_space *mapping, int tag)
 {
-	int ret;
-	rcu_read_lock();
-	ret = radix_tree_tagged(&mapping->page_tree, tag);
-	rcu_read_unlock();
-	return ret;
+	return radix_tree_tagged(&mapping->page_tree, tag);
 }
 EXPORT_SYMBOL(mapping_tagged);


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] mm: remove useless rcu lock-unlock from mapping_tagged()
  2011-07-17 11:35 [PATCH] mm: remove useless rcu lock-unlock from mapping_tagged() Konstantin Khlebnikov
@ 2011-07-19 20:55 ` Paul E. McKenney
  0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2011-07-19 20:55 UTC (permalink / raw)
  To: Konstantin Khlebnikov; +Cc: Andrew Morton, linux-kernel

On Sun, Jul 17, 2011 at 03:35:23PM +0400, Konstantin Khlebnikov wrote:
> radix_tree_tagged() is lockless, it does not require any protection.

Indeed.  The radix_tree_root structure is a field in the address_space
structure, so no protection is required to get at the field.  If
protection is required on the mapping pointer itself, that would have
to happen in writeback_single_inode() and friends.

Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
> ---
>  mm/page-writeback.c |    6 +-----
>  1 files changed, 1 insertions(+), 5 deletions(-)
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 31f6988..919b45e 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -1405,10 +1405,6 @@ EXPORT_SYMBOL(test_set_page_writeback);
>   */
>  int mapping_tagged(struct address_space *mapping, int tag)
>  {
> -	int ret;
> -	rcu_read_lock();
> -	ret = radix_tree_tagged(&mapping->page_tree, tag);
> -	rcu_read_unlock();
> -	return ret;
> +	return radix_tree_tagged(&mapping->page_tree, tag);
>  }
>  EXPORT_SYMBOL(mapping_tagged);
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-07-19 20:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-17 11:35 [PATCH] mm: remove useless rcu lock-unlock from mapping_tagged() Konstantin Khlebnikov
2011-07-19 20:55 ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox