lkml.org 
[lkml]   [2010]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RFC tip/core/rcu 15/23] radix-tree: __rcu annotations
    Date
    From: Arnd Bergmann <arnd@arndb.de>

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Nick Piggin <npiggin@suse.de>
    ---
    include/linux/radix-tree.h | 4 +++-
    lib/radix-tree.c | 2 +-
    2 files changed, 4 insertions(+), 2 deletions(-)

    diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
    index 55ca73c..d801044 100644
    --- a/include/linux/radix-tree.h
    +++ b/include/linux/radix-tree.h
    @@ -47,6 +47,8 @@ static inline void *radix_tree_indirect_to_ptr(void *ptr)
    {
    return (void *)((unsigned long)ptr & ~RADIX_TREE_INDIRECT_PTR);
    }
    +#define radix_tree_indirect_to_ptr(ptr) \
    + radix_tree_indirect_to_ptr((void __force *)(ptr))

    static inline int radix_tree_is_indirect_ptr(void *ptr)
    {
    @@ -61,7 +63,7 @@ static inline int radix_tree_is_indirect_ptr(void *ptr)
    struct radix_tree_root {
    unsigned int height;
    gfp_t gfp_mask;
    - struct radix_tree_node *rnode;
    + struct radix_tree_node __rcu *rnode;
    };

    #define RADIX_TREE_INIT(mask) { \
    diff --git a/lib/radix-tree.c b/lib/radix-tree.c
    index 2a087e0..08f86cc 100644
    --- a/lib/radix-tree.c
    +++ b/lib/radix-tree.c
    @@ -49,7 +49,7 @@ struct radix_tree_node {
    unsigned int height; /* Height from the bottom */
    unsigned int count;
    struct rcu_head rcu_head;
    - void *slots[RADIX_TREE_MAP_SIZE];
    + void __rcu *slots[RADIX_TREE_MAP_SIZE];
    unsigned long tags[RADIX_TREE_MAX_TAGS][RADIX_TREE_TAG_LONGS];
    };

    --
    1.7.0.6


    \
     
     \ /
      Last update: 2010-05-12 23:41    [W:4.236 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site