linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Nick Piggin <npiggin@kernel.dk>
Cc: Al Viro <viro@zeniv.linux.org.uk>, linux-fsdevel@vger.kernel.org
Subject: Re: [patch 10/10] fs: brlock vfsmount_lock
Date: Wed, 18 Aug 2010 16:05:39 +0200	[thread overview]
Message-ID: <87eidwkocs.fsf@basil.nowhere.org> (raw)
In-Reply-To: <20100817184122.344010346@kernel.dk> (Nick Piggin's message of "Wed, 18 Aug 2010 04:37:39 +1000")

Nick Piggin <npiggin@kernel.dk> writes:

BTW one way to make the slow path faster would be to start sharing
per cpu locks inside a core on SMT at least. The same cores have the same
caches and sharing cache lines is free. That would cut it in half
on a 2x HT system.

> -
>  static int event;
>  static DEFINE_IDA(mnt_id_ida);
>  static DEFINE_IDA(mnt_group_ida);
> +static DEFINE_SPINLOCK(mnt_id_lock);

Can you add a scope comment to that lock? 

> @@ -623,39 +653,43 @@ static inline void __mntput(struct vfsmo
>  void mntput_no_expire(struct vfsmount *mnt)
>  {
>  repeat:
> -	if (atomic_dec_and_lock(&mnt->mnt_count, &vfsmount_lock)) {
> -		if (likely(!mnt->mnt_pinned)) {
> -			spin_unlock(&vfsmount_lock);
> -			__mntput(mnt);
> -			return;
> -		}
> -		atomic_add(mnt->mnt_pinned + 1, &mnt->mnt_count);
> -		mnt->mnt_pinned = 0;
> -		spin_unlock(&vfsmount_lock);
> -		acct_auto_close_mnt(mnt);
> -		goto repeat;
> +	if (atomic_add_unless(&mnt->mnt_count, -1, 1))
> +		return;

Hmm that's a unrelated change?

The rest looks all good and quite straight forward

Reviewed-by: Andi Kleen <ak@linux.intel.com>
-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

  reply	other threads:[~2010-08-18 14:05 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-17 18:37 [patch 00/10] first set of vfs scale patches Nick Piggin
2010-08-17 18:37 ` [patch 01/10] fs: fix do_lookup false negative Nick Piggin
2010-08-17 22:45   ` Valerie Aurora
2010-08-17 23:04   ` Sage Weil
2010-08-18 13:41   ` Andi Kleen
2010-08-17 18:37 ` [patch 02/10] fs: dentry allocation consolidation Nick Piggin
2010-08-17 22:45   ` Valerie Aurora
2010-08-17 18:37 ` [patch 03/10] apparmor: use task path helpers Nick Piggin
2010-08-17 22:59   ` Valerie Aurora
2010-08-17 18:37 ` [patch 04/10] fs: fs_struct rwlock to spinlock Nick Piggin
2010-08-17 23:14   ` Valerie Aurora
2010-08-20 10:05     ` Nick Piggin
2010-08-17 18:37 ` [patch 05/10] fs: remove extra lookup in __lookup_hash Nick Piggin
2010-08-18 13:57   ` Andi Kleen
2010-08-18 21:13     ` Andi Kleen
2010-08-18 19:34   ` Valerie Aurora
2010-08-17 18:37 ` [patch 06/10] fs: cleanup files_lock locking Nick Piggin
2010-08-18 19:46   ` Valerie Aurora
2010-08-17 18:37 ` [patch 07/10] tty: fix fu_list abuse Nick Piggin
2010-08-17 18:37 ` [patch 08/10] lglock: introduce special lglock and brlock spin locks Nick Piggin
2010-08-17 18:37 ` [patch 09/10] fs: scale files_lock Nick Piggin
2010-08-17 18:37 ` [patch 10/10] fs: brlock vfsmount_lock Nick Piggin
2010-08-18 14:05   ` Andi Kleen [this message]
2010-08-20 10:09     ` Nick Piggin
2010-08-17 21:14 ` [patch 00/10] first set of vfs scale patches 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=87eidwkocs.fsf@basil.nowhere.org \
    --to=andi@firstfloor.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=npiggin@kernel.dk \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).