Skip to content
  • Waiman Long's avatar
    dcache: get/release read lock in read_seqbegin_or_lock() & friend · 18129977
    Waiman Long authored
    
    
    This patch modifies read_seqbegin_or_lock() and need_seqretry() to use
    newly introduced read_seqlock_excl() and read_sequnlock_excl()
    primitives so that they won't change the sequence number even if they
    fall back to take the lock.  This is OK as no change to the protected
    data structure is being made.
    
    It will prevent one fallback to lock taking from cascading into a series
    of lock taking reducing performance because of the sequence number
    change.  It will also allow other sequence readers to go forward while
    an exclusive reader lock is taken.
    
    This patch also updates some of the inaccurate comments in the code.
    
    Signed-off-by: default avatarWaiman Long <Waiman.Long@hp.com>
    To: Alexander Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    18129977