* [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