On Thu, Dec 10, 2020 at 03:29:23PM -0800, Linus Torvalds wrote: > On Thu, Dec 10, 2020 at 2:29 PM Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > > > So, really, this isn't avoiding IO at all - it's avoiding the > > possibility of running a lookup path that might blocking on > > something. > > For pathname lookup, the only case that matters is the RCU lockless lookup. > > That cache hits basically 100% of the time except for the first > lookup, or under memory pressure. > > And honestly, from a performance perspective, it's the lockless path > lookup that matters most. By the time you have to go to the > filesystem, take the directory locks etc, you've already lost. > > So we're never going to bother with some kind of "lockless lookup for > actual filesystems", because it's only extra work for no actual gain. > > End result: LOOKUP_NONBLOCK is about not just avoiding IO, but about > avoiding the filesystem and the inevitable locking that causes. Umm, yes, that is _exactly_ what I just said. :/ Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx