lkml.org 
[lkml]   [2011]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 52/55] rcu: Remove one layer of abstraction from PROVE_RCU checking
    Date
    Simplify things a bit by substituting the definitions of the single-line
    rcu_read_acquire(), rcu_read_release(), rcu_read_acquire_bh(),
    rcu_read_release_bh(), rcu_read_acquire_sched(), and
    rcu_read_release_sched() functions at their call points.

    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---
    include/linux/rcupdate.h | 53 +++++++---------------------------------------
    1 files changed, 8 insertions(+), 45 deletions(-)

    diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
    index a9bc36d..9d40e42 100644
    --- a/include/linux/rcupdate.h
    +++ b/include/linux/rcupdate.h
    @@ -256,41 +256,8 @@ static inline void rcu_lock_release(struct lockdep_map *map)
    }

    extern struct lockdep_map rcu_lock_map;
    -
    -static inline void rcu_read_acquire(void)
    -{
    - rcu_lock_acquire(&rcu_lock_map);
    -}
    -
    -static inline void rcu_read_release(void)
    -{
    - rcu_lock_release(&rcu_lock_map);
    -}
    -
    extern struct lockdep_map rcu_bh_lock_map;
    -
    -static inline void rcu_read_acquire_bh(void)
    -{
    - rcu_lock_acquire(&rcu_bh_lock_map);
    -}
    -
    -static inline void rcu_read_release_bh(void)
    -{
    - rcu_lock_release(&rcu_bh_lock_map);
    -}
    -
    extern struct lockdep_map rcu_sched_lock_map;
    -
    -static inline void rcu_read_acquire_sched(void)
    -{
    - rcu_lock_acquire(&rcu_sched_lock_map);
    -}
    -
    -static inline void rcu_read_release_sched(void)
    -{
    - rcu_lock_release(&rcu_sched_lock_map);
    -}
    -
    extern int debug_lockdep_rcu_enabled(void);

    /**
    @@ -382,12 +349,8 @@ static inline int rcu_read_lock_sched_held(void)
    #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */

    # define PROVE_RCU(a) do { } while (0)
    -# define rcu_read_acquire() do { } while (0)
    -# define rcu_read_release() do { } while (0)
    -# define rcu_read_acquire_bh() do { } while (0)
    -# define rcu_read_release_bh() do { } while (0)
    -# define rcu_read_acquire_sched() do { } while (0)
    -# define rcu_read_release_sched() do { } while (0)
    +# define rcu_lock_acquire(a) do { } while (0)
    +# define rcu_lock_release(a) do { } while (0)

    static inline int rcu_read_lock_held(void)
    {
    @@ -708,7 +671,7 @@ static inline void rcu_read_lock(void)
    {
    __rcu_read_lock();
    __acquire(RCU);
    - rcu_read_acquire();
    + rcu_lock_acquire(&rcu_lock_map);
    }

    /*
    @@ -728,7 +691,7 @@ static inline void rcu_read_lock(void)
    */
    static inline void rcu_read_unlock(void)
    {
    - rcu_read_release();
    + rcu_lock_release(&rcu_lock_map);
    __release(RCU);
    __rcu_read_unlock();
    }
    @@ -749,7 +712,7 @@ static inline void rcu_read_lock_bh(void)
    {
    local_bh_disable();
    __acquire(RCU_BH);
    - rcu_read_acquire_bh();
    + rcu_lock_acquire(&rcu_bh_lock_map);
    }

    /*
    @@ -759,7 +722,7 @@ static inline void rcu_read_lock_bh(void)
    */
    static inline void rcu_read_unlock_bh(void)
    {
    - rcu_read_release_bh();
    + rcu_lock_release(&rcu_bh_lock_map);
    __release(RCU_BH);
    local_bh_enable();
    }
    @@ -776,7 +739,7 @@ static inline void rcu_read_lock_sched(void)
    {
    preempt_disable();
    __acquire(RCU_SCHED);
    - rcu_read_acquire_sched();
    + rcu_lock_acquire(&rcu_sched_lock_map);
    }

    /* Used by lockdep and tracing: cannot be traced, cannot call lockdep. */
    @@ -793,7 +756,7 @@ static inline notrace void rcu_read_lock_sched_notrace(void)
    */
    static inline void rcu_read_unlock_sched(void)
    {
    - rcu_read_release_sched();
    + rcu_lock_release(&rcu_sched_lock_map);
    __release(RCU_SCHED);
    preempt_enable();
    }
    --
    1.7.3.2


    \
     
     \ /
      Last update: 2011-09-07 08:31    [W:0.026 / U:120.144 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site