Lines Matching refs:REF

30 will allow us to review "REF-walk" and "RCU-walk" separately.  But we
142 REF-walk: simple concurrency management with refcounts and spinlocks
148 pathname, and focus on the "REF-walk" approach to concurrency
155 REF-walk is fairly heavy-handed with locks and reference counts. Not
162 The locking mechanisms used by REF-walk include:
205 When looking for a name in a directory, REF-walk takes ``d_lock`` on
211 REF-walk can take ``d_lock`` to get a stable reference to ``d_parent``,
517 Apart from symbolic links, there are only two parts of the "REF-walk"
599 It is in many ways similar to REF-walk and the two share quite a bit
603 We noted that REF-walk is complex because there are numerous details
606 REF-walk. The difficulty with RCU-walk comes from a different
625 The REF-walk mechanism already described certainly doesn't follow this
632 using REF-walk.
640 REF-walk.
644 that a path walk with REF-walk would have found the same entries.
647 REF-walk could also have made if it were walking down the tree at the
649 processed with the reliable, if slightly sluggish, REF-walk. If
651 restarts from the top with REF-walk.
653 This pattern of "try RCU-walk, if that fails try REF-walk" can be
662 special flag to request "REF-walk". If either of those report the
669 REF-walk, but will never then try to switch back to RCU-walk. Places
687 As we saw above, REF-walk holds a counted reference to the current
697 decisions that REF-walk could have made), it must make the checks at
698 or near the same places that REF-walk holds the references. So, when
699 REF-walk increments a reference count or takes a spinlock, RCU-walk
701 similar function. When REF-walk decrements the count or drops the
733 We already met the ``mount_lock`` seqlock when REF-walk used it to
743 relatively rare, it is reasonable to fall back on REF-walk any time
747 sequence, whether switching to REF-walk for the rest of the path or
752 REF-walk.
755 that, had REF-walk taken counted references on each vfsmount, the
804 the old dentry which we saw in REF-walk.
816 REF-walk mode which can take whatever locks are needed.
819 any sleeping, RCU-walk doesn't bother. REF-walk uses ``rename_lock`` to
824 already drops down to REF-walk and tries again with appropriate
831 That "dropping down to REF-walk" typically involves a call to
849 attempt from the top using REF-walk.
855 it, too, aborts with ``-ECHILD``, otherwise the transition to REF-walk
912 In various places in the details of REF-walk and RCU-walk, and also in
918 then trying REF-walk, and in places where ``unlazy_walk()`` is used to
919 switch to REF-walk for the rest of the path. We also saw it earlier
925 ``mount_lock`` in REF-walk. RCU-walk doesn't make use of this pattern -
1018 it doesn't need to drop down into REF-walk.
1061 REF-walk mode in which the filesystem is allowed to sleep.
1064 method. This is called both in RCU-walk and REF-walk. In RCU-walk the
1076 whether in RCU-walk or REF-walk, the symlink stack needs to contain,
1081 - the ``seq`` to allow the path to be safely switched from RCU-walk to REF-walk
1272 path walk drop down to REF-walk. All of this is handled in the
1294 to lookup: RCU-walk, REF-walk, and REF-walk with forced revalidation.