BKL: Remove BKL from cgroup
authorJan Blunck <jblunck@infradead.org>
Wed, 24 Feb 2010 12:25:34 +0000 (13:25 +0100)
committerArnd Bergmann <arnd@arndb.de>
Mon, 4 Oct 2010 19:10:42 +0000 (21:10 +0200)
The BKL is only used in remount_fs and get_sb that are both protected by
the superblocks s_umount rw_semaphore. Therefore it is safe to remove the
BKL entirely.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
kernel/cgroup.c

index a7ba3bccadc56c01cd2bc2964506592a4e70a14d..304d27759949625f785abd817c9335b0923b7376 100644 (file)
@@ -52,7 +52,6 @@
 #include <linux/cgroupstats.h>
 #include <linux/hash.h>
 #include <linux/namei.h>
-#include <linux/smp_lock.h>
 #include <linux/pid_namespace.h>
 #include <linux/idr.h>
 #include <linux/vmalloc.h> /* TODO: replace with more sophisticated array */
@@ -1222,7 +1221,6 @@ static int cgroup_remount(struct super_block *sb, int *flags, char *data)
        struct cgroup *cgrp = &root->top_cgroup;
        struct cgroup_sb_opts opts;
 
-       lock_kernel();
        mutex_lock(&cgrp->dentry->d_inode->i_mutex);
        mutex_lock(&cgroup_mutex);
 
@@ -1255,7 +1253,6 @@ static int cgroup_remount(struct super_block *sb, int *flags, char *data)
        kfree(opts.name);
        mutex_unlock(&cgroup_mutex);
        mutex_unlock(&cgrp->dentry->d_inode->i_mutex);
-       unlock_kernel();
        return ret;
 }
 
@@ -1430,8 +1427,6 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
        struct super_block *sb;
        struct cgroupfs_root *new_root;
 
-       lock_kernel();
-
        /* First find the desired set of subsystems */
        mutex_lock(&cgroup_mutex);
        ret = parse_cgroupfs_options(data, &opts);
@@ -1561,7 +1556,6 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
        simple_set_mnt(mnt, sb);
        kfree(opts.release_agent);
        kfree(opts.name);
-       unlock_kernel();
        return 0;
 
  drop_new_super:
@@ -1571,8 +1565,6 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
  out_err:
        kfree(opts.release_agent);
        kfree(opts.name);
-       unlock_kernel();
-
        return ret;
 }