summaryrefslogtreecommitdiffstats
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2010-10-28 03:30:10 +0200
committerTheodore Ts'o <tytso@mit.edu>2010-10-28 03:30:10 +0200
commitbd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc (patch)
treef0d1902b7ff4294114614cc706855c3d6b131f73 /fs/ext4/super.c
parentext4: move mpage_put_bnr_to_bhs()'s functionality to mpage_da_submit_io() (diff)
downloadlinux-bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc.tar.xz
linux-bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc.zip
ext4: use bio layer instead of buffer layer in mpage_da_submit_io
Call the block I/O layer directly instad of going through the buffer layer. This should give us much better performance and scalability, as well as lowering our CPU utilization when doing buffered writeback. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to '')
-rw-r--r--fs/ext4/super.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 8a24e9be7cb0..e13b3c3534d7 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4769,9 +4769,12 @@ static int __init init_ext4_fs(void)
int err;
ext4_check_flag_values();
- err = init_ext4_system_zone();
+ err = init_ext4_pageio();
if (err)
return err;
+ err = init_ext4_system_zone();
+ if (err)
+ goto out5;
ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj);
if (!ext4_kset)
goto out4;
@@ -4812,6 +4815,8 @@ out3:
kset_unregister(ext4_kset);
out4:
exit_ext4_system_zone();
+out5:
+ exit_ext4_pageio();
return err;
}
@@ -4827,6 +4832,7 @@ static void __exit exit_ext4_fs(void)
remove_proc_entry("fs/ext4", NULL);
kset_unregister(ext4_kset);
exit_ext4_system_zone();
+ exit_ext4_pageio();
}
MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");