Messages in this thread | | | Date | Thu, 12 Sep 2013 10:30:14 -0700 | Subject | Re: [PATCH 0/2 v2] dcache: get/release read lock in read_seqbegin_or_lock() & friend | From | Linus Torvalds <> |
| |
On Thu, Sep 12, 2013 at 9:38 AM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Thu, Sep 12, 2013 at 7:55 AM, Waiman Long <Waiman.Long@hp.com> wrote: >> Change log >> ---------- >> v1->v2: >> - Rename the new seqlock primitives to read_seqexcl_lock* and >> read_seqexcl_unlock*. > > Applied.
Btw, when I tried to benchmark this, I failed miserably.
Why?
If you do a threaded benchmark of "getcwd()", you end up spending all your time in a spinlock anyway: get_fs_root_and_pwd() takes the fs->lock to get the root/pwd.
Now, AIM7 probably uses processes, not threads, so you don't see this, and maybe I shouldn't care. But looking at it, it annoys me enormously, because the whole get_fs_root_and_pwd() is just stupid.
Putting it all under the RCU lock and then changing it to use get_fs_root_and_pwd_rcu() that just uses the fs->seq sequence read-lock looks absolutely trivial.
Linus
| |