• T
    lockdep: Revert lockdep check in raw_seqcount_begin() · 22fdcf02
    Trond Myklebust 提交于
    This commit reverts the addition of lockdep checking to raw_seqcount_begin
    for the following reasons:
    
     1) It violates the naming convention that raw_* functions should not
        do lockdep checks (a convention that is also followed by the other
        raw_*_seqcount_begin functions).
    
     2) raw_seqcount_begin does not spin, so it can only be part of an ABBA
        deadlock in very special circumstances (for instance if a lock
        is held across the entire raw_seqcount_begin()+read_seqcount_retry()
        loop while also being taken inside the write_seqcount protected area).
    
     3) It is causing false positives with some existing callers, and there
        is no non-lockdep alternative for those callers to use.
    
    None of the three existing callers (__d_lookup_rcu, netdev_get_name, and
    the NFS state code) appear to use the function in a manner that is ABBA
    deadlock prone.
    
    Fixes: 1ca7d67c: seqcount: Add lockdep functionality to seqcount/seqlock
    Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Waiman Long <Waiman.Long@hp.com>
    Cc: Stephen Boyd <sboyd@codeaurora.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/CAHQdGtRR6SvEhXiqWo24hoUh9AU9cL82Z8Z-d8-7u951F_d+5g@mail.gmail.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
    22fdcf02
seqlock.h 11.3 KB