All of lore.kernel.org
 help / color / mirror / Atom feed
From: Waiman Long <waiman.long@hp.com>
To: George Spelvin <linux@horizon.com>
Cc: torvalds@linux-foundation.org, viro@ZenIV.linux.org.uk,
	aswin@hp.com, john@stoffel.org, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, scott.norton@hp.com
Subject: Re: [PATCH v4 1/1] dcache: Translating dentry into pathname without taking rename_lock
Date: Mon, 09 Sep 2013 23:57:40 -0400	[thread overview]
Message-ID: <522E98B4.1050906@hp.com> (raw)
In-Reply-To: <20130910004020.29299.qmail@science.horizon.com>

On 09/09/2013 08:40 PM, George Spelvin wrote:
> I'm really wondering about only trying once before taking the write lock.
> Yes, using the lsbit is a cute hack, but are we using it for its cuteness
> rather than its effectiveness?
>
> Renames happen occasionally.  If that causes all the current pathname
> translations to fall back to the write lock, that is fairly heavy.
> Worse, all of those translations will (unnecessarily) bump the write
> seqcount, triggering *other* translations to fail back to the write-lock
> path.
>
> One patch to fix this would be to have the fallback read algorithm take
> sl->lock but *not* touch sl->seqcount, so it wouldn't break concurrent
> readers.

Actually, a follow-up patch that I am planning to do is to introduce a 
read_seqlock() primitive in seqlock.h that does exactly that. Then the 
write_seqlock() in this patch will be modified to read_seqlock().

-Longman

  parent reply	other threads:[~2013-09-10  3:57 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-09 16:18 [PATCH v4 0/1] dcache: Translating dentry into pathname without taking rename_lock Waiman Long
2013-09-09 16:18 ` [PATCH v4 1/1] " Waiman Long
2013-09-09 17:29   ` Al Viro
2013-09-09 17:45     ` Linus Torvalds
2013-09-09 17:56       ` Waiman Long
2013-09-09 18:06       ` Al Viro
2013-09-09 18:15         ` Linus Torvalds
2013-09-09 18:21         ` Al Viro
2013-09-09 18:36           ` Al Viro
2013-09-09 18:46             ` Al Viro
2013-09-09 18:46             ` Waiman Long
2013-09-09 19:10               ` Al Viro
2013-09-09 19:28                 ` Al Viro
2013-09-09 22:57                   ` Waiman Long
2013-09-10  0:40           ` George Spelvin
2013-09-10  0:57             ` Al Viro
2013-09-10  1:15               ` Ramkumar Ramachandra
2013-09-10  1:34                 ` Linus Torvalds
2013-09-10  2:25                   ` Al Viro
2013-09-10  2:33                     ` Linus Torvalds
2013-09-10  3:12                   ` Ramkumar Ramachandra
2013-09-10  8:24               ` George Spelvin
2013-09-10  3:57             ` Waiman Long [this message]
2013-09-09 17:55     ` Waiman Long
2013-09-09 18:07       ` Al Viro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=522E98B4.1050906@hp.com \
    --to=waiman.long@hp.com \
    --cc=aswin@hp.com \
    --cc=john@stoffel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@horizon.com \
    --cc=scott.norton@hp.com \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.