linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Blunck <jblunck@suse.de>
To: linux-fsdevel@vger.kernel.org
Cc: Linux-Kernel Mailinglist <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	jkacur@redhat.com, Thomas Gleixner <tglx@linutronix.de>,
	Christoph Hellwig <hch@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	matthew@wil.cx, Jan Blunck <jblunck@suse.de>
Subject: [PATCH 00/20] BKL pushdown from do_new_mount() to the filesystems (v3)
Date: Wed, 18 Nov 2009 10:24:33 +0100	[thread overview]
Message-ID: <1258536293-7762-1-git-send-email-jblunck@suse.de> (raw)

During the realtime preemption mini-summit we discussed the entire removal of
the big kernel lock. I've started working on this for some filesystems. My plan
is to push the BKL down to the implementations first and remove it from there
later.

This series is pushing the BKL from do_new_mount() down to the filesystems.
If the filesystem wasn't using the BKL at all before, it gets removed instead.
If removing is trivial (e.g. because it is obviously already protected by an
existing lock) it gets removed by a follow up patch in the series.

Later on in the series the big kernel lock is removed from EXT2. Instead, a new
lock that protects the modification of some of the superblocks fields is
introduced.

Version 2 of the series addressed the feedback from Matthew Wilcox and I tried
to be more verbose about why I think it is safe to remove the BKL. In most
cases there is no shared resource accessed anyway or the superblock s_umount
rwsemaphore is used so it is trivially safe to remove the big kernel lock.

Version 3 of the series addressed the feedback from Christoph Hellwig and Arnd
Bergmann to not push down the BKL to filesystems that don't use it anyway. I've
changed the ext2 s_lock usage in ext2_sync_super() to address Jan Kara's
comments.

If all affected maintainers acknowledge their parts of the patches it should
get merged through one of the bkl branches in the tip tree.

Jan Blunck (20):
  JFS: Free sbi memory in error path
  AFFS: Free sbi memory in error path
  BKL: Explicitly add BKL around get_sb/fill_super
  BKL: Remove outdated comment and include
  BKL: Remove BKL from Amiga FFS
  BKL: Remove BKL from BFS
  BKL: Remove BKL from CifsFS
  BKL: Remove BKL from ext3 fill_super()
  BKL: Remove BKL from ext3_put_super() and ext3_remount()
  BKL: Remove BKL from ext4 filesystem
  BKL: Remove BKL from exofs
  BKL: Remove BKL from HFS
  BKL: Remove BKL from HFS+
  BKL: Remove BKL from JFS
  BKL: Remove BKL from NILFS2
  BKL: Remove BKL from NTFS
  BKL: Remove BKL from cgroup
  BKL: Remove BKL from do_new_mount()
  ext2: Add ext2_sb_info s_lock spinlock
  BKL: Remove BKL from ext2 filesystem

 drivers/isdn/capi/capifs.c |   10 ++++++-
 drivers/usb/core/inode.c   |    5 +++
 drivers/usb/gadget/inode.c |   12 +++++++-
 fs/adfs/super.c            |    8 +++++-
 fs/affs/super.c            |   17 ++++--------
 fs/afs/super.c             |    5 +++
 fs/bfs/inode.c             |    8 +----
 fs/cifs/cifsfs.c           |    9 ++----
 fs/coda/inode.c            |    8 +++++-
 fs/ecryptfs/main.c         |    4 +++
 fs/exofs/super.c           |    1 -
 fs/ext2/inode.c            |    5 +--
 fs/ext2/super.c            |   60 ++++++++++++++++++++++++++++++--------------
 fs/ext3/super.c            |   12 ---------
 fs/ext4/super.c            |   11 --------
 fs/fat/namei_msdos.c       |    7 ++++-
 fs/fat/namei_vfat.c        |    7 ++++-
 fs/freevxfs/vxfs_super.c   |    7 ++++-
 fs/hfs/super.c             |    6 +---
 fs/hfsplus/super.c         |    5 ---
 fs/hpfs/super.c            |    8 +++++-
 fs/isofs/inode.c           |    8 +++++-
 fs/jffs2/super.c           |   11 ++++++-
 fs/jfs/super.c             |   23 ++++------------
 fs/namespace.c             |    2 -
 fs/ncpfs/inode.c           |    8 +++++-
 fs/nfs/super.c             |   24 +++++++++++++++++
 fs/nilfs2/ioctl.c          |    1 -
 fs/nilfs2/super.c          |   10 -------
 fs/ntfs/super.c            |   24 +----------------
 fs/ocfs2/dlm/dlmfs.c       |    9 ++++++-
 fs/ocfs2/super.c           |    5 +++
 fs/qnx4/inode.c            |    8 +++++-
 fs/reiserfs/super.c        |    4 +++
 fs/smbfs/inode.c           |    5 +++
 fs/squashfs/super.c        |    6 ++++
 fs/super.c                 |    3 --
 fs/udf/super.c             |    8 +++++-
 fs/ufs/super.c             |    5 +++
 include/linux/ext2_fs_sb.h |    6 ++++
 kernel/cgroup.c            |    4 ---
 41 files changed, 234 insertions(+), 155 deletions(-)

             reply	other threads:[~2009-11-18  9:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-18  9:24 Jan Blunck [this message]
2009-11-18  9:24 ` [PATCH 01/20] JFS: Free sbi memory in error path Jan Blunck
2009-11-18  9:24 ` [PATCH 02/20] AFFS: " Jan Blunck
2009-11-18  9:24 ` [PATCH 04/20] BKL: Remove outdated comment and include Jan Blunck
2009-11-18  9:24 ` [PATCH 05/20] BKL: Remove BKL from Amiga FFS Jan Blunck
2009-11-18  9:24 ` [PATCH 06/20] BKL: Remove BKL from BFS Jan Blunck
2009-11-18  9:24 ` [PATCH 07/20] BKL: Remove BKL from CifsFS Jan Blunck
2009-11-18  9:24 ` [PATCH 08/20] BKL: Remove BKL from ext3 fill_super() Jan Blunck
2009-11-18  9:24 ` [PATCH 09/20] BKL: Remove BKL from ext3_put_super() and ext3_remount() Jan Blunck
2009-11-18  9:24 ` [PATCH 10/20] BKL: Remove BKL from ext4 filesystem Jan Blunck
2009-11-18  9:24 ` [PATCH 11/20] BKL: Remove BKL from exofs Jan Blunck
2009-11-18  9:24 ` [PATCH 12/20] BKL: Remove BKL from HFS Jan Blunck
2009-11-18  9:24 ` [PATCH 13/20] BKL: Remove BKL from HFS+ Jan Blunck
2009-11-18  9:24 ` [PATCH 14/20] BKL: Remove BKL from JFS Jan Blunck
2009-11-18  9:24 ` [PATCH 15/20] BKL: Remove BKL from NILFS2 Jan Blunck
2009-11-18 14:40   ` Ryusuke Konishi
2009-11-18  9:24 ` [PATCH 16/20] BKL: Remove BKL from NTFS Jan Blunck
2009-11-18  9:24 ` [PATCH 17/20] BKL: Remove BKL from cgroup Jan Blunck
2009-11-18 18:24   ` Paul Menage
2009-11-18  9:24 ` [PATCH 18/20] BKL: Remove BKL from do_new_mount() Jan Blunck
2009-11-18  9:24 ` [PATCH 19/20] ext2: Add ext2_sb_info s_lock spinlock Jan Blunck
2009-11-18 12:31   ` OGAWA Hirofumi
2009-11-18  9:24 ` [PATCH 20/20] BKL: Remove BKL from ext2 filesystem Jan Blunck
     [not found] ` <1258536293-7762-4-git-send-email-jblunck@suse.de>
2009-11-18 10:41   ` [PATCH 03/20] BKL: Explicitly add BKL around get_sb/fill_super Anders Larsen

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=1258536293-7762-1-git-send-email-jblunck@suse.de \
    --to=jblunck@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=hch@infradead.org \
    --cc=jkacur@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=tglx@linutronix.de \
    /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).