All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/27] Push down BKL to the filesystems (v2)
@ 2009-11-02 10:04 Jan Blunck
  2009-11-02 10:04   ` Jan Blunck
                   ` (27 more replies)
  0 siblings, 28 replies; 70+ messages in thread
From: Jan Blunck @ 2009-11-02 10:04 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: Matthew Wilcox, linux-kernel, Jan Blunck, Chris Mason, Christoph Hellwig

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 and
removes it from ext series of filesystems and one other trivial use: if the BKL
is only used in get_sb/fill_super due to the push-down, we just need to make
sure that parallel calls to get_sb/fill_super would race against each other.

I addressed the feedback from Matthew Wilcox and 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 so it is trivially safe to remove the lock.

There are two filesystems where I'm not 100% sure if the proposed patch is
enough, namely btrfs and xfs. Chris(+toph), could you help me here?

I left out the patch to remove default_llseek() on purpose. This indeed needs
some more lovin'.

Comments?

Jan

Jan Blunck (27):
  BKL: Push down BKL from do_new_mount() to the filesystems
    get_sb/fill_super operation
  BKL: Remove outdated comment and include
  BKL: Remove BKL from simple_fill_super
  ext2: Add ext2_sb_info mutex
  BKL: Remove BKL from ext2 filesystem
  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 9p
  BKL: Remove BKL from autofs4
  BKL: Remove BKL from befs
  BKL: Remove BKL from btrfs
  BKL: Remove BKL from configfs
  BKL: Remove BKL from cramfs
  BKL: Remove BKL from devpts
  BKL: Remove BKL from efs
  BKL: Remove BKL from exofs
  BKL: Remove BKL from hostfs
  BKL: Remove BKL from hugetlbfs
  BKL: Remove BKL from minix
  BKL: Remove BKL from omfs
  BKL: Remove BKL from openpromfs
  BKL: Remove BKL from ramfs
  BKL: Remove BKL from romfs
  BKL: Remove BKL from sysfs
  BKL: Remove BKL from ubifs
  BKL: Remove BKL from xfs

 fs/adfs/super.c            |    8 ++++++-
 fs/affs/super.c            |    9 +++++++-
 fs/afs/super.c             |    5 ++++
 fs/bfs/inode.c             |    9 +++++++-
 fs/binfmt_misc.c           |    6 ++++-
 fs/cifs/cifsfs.c           |   12 +++++++++-
 fs/coda/inode.c            |    8 ++++++-
 fs/ecryptfs/main.c         |    3 ++
 fs/exofs/super.c           |    2 +-
 fs/ext2/inode.c            |    5 +--
 fs/ext2/super.c            |   48 ++++++++++++++++++++++++++++---------------
 fs/ext3/super.c            |   12 -----------
 fs/ext4/super.c            |   11 ----------
 fs/fat/namei_msdos.c       |    6 ++++-
 fs/fat/namei_vfat.c        |    6 ++++-
 fs/freevxfs/vxfs_super.c   |    7 +++++-
 fs/fuse/control.c          |    9 +++++++-
 fs/fuse/inode.c            |    5 ++++
 fs/gfs2/ops_fstype.c       |    9 ++++++++
 fs/hfs/super.c             |    8 ++++++-
 fs/hfsplus/super.c         |    8 ++++++-
 fs/hpfs/super.c            |    8 ++++++-
 fs/hppfs/hppfs.c           |    4 +++
 fs/isofs/inode.c           |    8 ++++++-
 fs/jffs2/super.c           |   11 ++++++++-
 fs/jfs/super.c             |   14 +++++++++++-
 fs/libfs.c                 |    1 +
 fs/namespace.c             |    2 -
 fs/ncpfs/inode.c           |    8 ++++++-
 fs/nfs/super.c             |   19 +++++++++++++++++
 fs/nfsd/nfsctl.c           |    7 +++++-
 fs/nilfs2/super.c          |    9 +++++++-
 fs/ntfs/super.c            |    5 ++++
 fs/ocfs2/dlm/dlmfs.c       |    8 ++++++-
 fs/ocfs2/super.c           |    5 ++++
 fs/proc/root.c             |    9 +++++++-
 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/sysfs/mount.c           |    2 +-
 fs/sysv/super.c            |   24 +++++++++++++++++----
 fs/udf/super.c             |    8 ++++++-
 fs/ufs/super.c             |    5 ++++
 include/linux/ext2_fs_sb.h |    2 +
 46 files changed, 300 insertions(+), 81 deletions(-)


^ permalink raw reply	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2009-11-09 14:45 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-02 10:04 [PATCH 00/27] Push down BKL to the filesystems (v2) Jan Blunck
2009-11-02 10:04 ` [PATCH 01/27] BKL: Push down BKL from do_new_mount() to the filesystems get_sb/fill_super operation Jan Blunck
2009-11-02 10:04   ` Jan Blunck
2009-11-02 10:04   ` [uml-devel] " Jan Blunck
2009-11-02 10:04   ` Jan Blunck
2009-11-02 10:04   ` [Ocfs2-devel] " Jan Blunck
2009-11-02 10:04   ` Jan Blunck
2009-11-02 17:11   ` Jan Blunck
2009-11-03 10:12     ` Christoph Hellwig
2009-11-03 10:25       ` Jan Blunck
2009-11-03 14:33         ` Christoph Hellwig
2009-11-03 14:46           ` Arnd Bergmann
2009-11-02 10:04 ` [PATCH 02/27] BKL: Remove outdated comment and include Jan Blunck
2009-11-02 10:04 ` [PATCH 03/27] BKL: Remove BKL from simple_fill_super Jan Blunck
2009-11-02 10:04 ` [PATCH 04/27] ext2: Add ext2_sb_info mutex Jan Blunck
2009-11-02 10:26   ` Andi Kleen
2009-11-02 16:57     ` Jan Blunck
2009-11-02 17:25       ` Andi Kleen
2009-11-05 13:55       ` Jan Kara
2009-11-02 10:04 ` [PATCH 05/27] BKL: Remove BKL from ext2 filesystem Jan Blunck
2009-11-05 12:41   ` Jan Kara
2009-11-05 13:06     ` Jan Blunck
2009-11-05 13:56       ` Jan Kara
2009-11-02 10:04 ` [PATCH 06/27] BKL: Remove BKL from ext3 fill_super() Jan Blunck
2009-11-02 10:04   ` Jan Blunck
2009-11-05 11:55   ` Jan Kara
2009-11-02 10:04 ` [PATCH 07/27] BKL: Remove BKL from ext3_put_super() and ext3_remount() Jan Blunck
2009-11-02 10:04   ` Jan Blunck
2009-11-05 11:56   ` Jan Kara
2009-11-02 10:04 ` [PATCH 08/27] BKL: Remove BKL from ext4 filesystem Jan Blunck
2009-11-09 14:45   ` Theodore Tso
2009-11-02 10:04 ` [PATCH 09/27] BKL: Remove BKL from 9p Jan Blunck
2009-11-02 10:04 ` [PATCH 10/27] BKL: Remove BKL from autofs4 Jan Blunck
2009-11-02 11:13   ` Ian Kent
2009-11-02 10:04 ` [PATCH 11/27] BKL: Remove BKL from befs Jan Blunck
2009-11-02 10:04 ` [PATCH 12/27] BKL: Remove BKL from btrfs Jan Blunck
2009-11-02 12:13   ` Chris Mason
2009-11-02 10:04 ` [PATCH 13/27] BKL: Remove BKL from configfs Jan Blunck
2009-11-02 18:44   ` Joel Becker
2009-11-02 10:04 ` [PATCH 14/27] BKL: Remove BKL from cramfs Jan Blunck
2009-11-02 10:46   ` Coly Li
2009-11-02 10:04 ` [PATCH 15/27] BKL: Remove BKL from devpts Jan Blunck
2009-11-02 10:04 ` [PATCH 16/27] BKL: Remove BKL from efs Jan Blunck
2009-11-02 10:47   ` Coly Li
2009-11-02 10:47     ` Coly Li
2009-11-02 10:04 ` [PATCH 17/27] BKL: Remove BKL from exofs Jan Blunck
2009-11-02 10:04 ` [PATCH 18/27] BKL: Remove BKL from hostfs Jan Blunck
2009-11-02 10:04 ` [PATCH 19/27] BKL: Remove BKL from hugetlbfs Jan Blunck
2009-11-02 10:05 ` [PATCH 20/27] BKL: Remove BKL from minix Jan Blunck
2009-11-02 10:46   ` Coly Li
2009-11-02 10:05 ` [PATCH 21/27] BKL: Remove BKL from omfs Jan Blunck
2009-11-03 19:21   ` Bob Copeland
2009-11-02 10:05 ` [PATCH 22/27] BKL: Remove BKL from openpromfs Jan Blunck
2009-11-02 10:05 ` [PATCH 23/27] BKL: Remove BKL from ramfs Jan Blunck
2009-11-02 10:05 ` [PATCH 24/27] BKL: Remove BKL from romfs Jan Blunck
2009-11-02 10:05 ` [PATCH 25/27] BKL: Remove BKL from sysfs Jan Blunck
2009-11-02 16:44   ` Greg KH
2009-11-02 17:35     ` Jan Blunck
2009-11-02 19:58       ` Greg KH
2009-11-02 10:05 ` [PATCH 26/27] BKL: Remove BKL from ubifs Jan Blunck
2009-11-02 10:05   ` Jan Blunck
2009-11-02 10:05   ` Jan Blunck
2009-11-03  5:47   ` Artem Bityutskiy
2009-11-03  5:47     ` Artem Bityutskiy
2009-11-02 10:05 ` [PATCH 27/27] BKL: Remove BKL from xfs Jan Blunck
2009-11-02 10:05   ` Jan Blunck
2009-11-02 11:29 ` [PATCH 00/27] Push down BKL to the filesystems (v2) Christian Borntraeger
2009-11-02 13:30   ` Jan Blunck
2009-11-02 15:29     ` Christian Borntraeger
2009-11-02 15:31     ` Christian Borntraeger

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.