aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2010-10-27 21:30:10 -0400
committerTheodore Ts'o <tytso@mit.edu>2010-10-27 21:30:10 -0400
commitbd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc (patch)
treef0d1902b7ff4294114614cc706855c3d6b131f73 /fs/ext4/super.c
parent1de3e3df917459422cb2aecac440febc8879d410 (diff)
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 'fs/ext4/super.c')
-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)
4769 int err; 4769 int err;
4770 4770
4771 ext4_check_flag_values(); 4771 ext4_check_flag_values();
4772 err = init_ext4_system_zone(); 4772 err = init_ext4_pageio();
4773 if (err) 4773 if (err)
4774 return err; 4774 return err;
4775 err = init_ext4_system_zone();
4776 if (err)
4777 goto out5;
4775 ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj); 4778 ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj);
4776 if (!ext4_kset) 4779 if (!ext4_kset)
4777 goto out4; 4780 goto out4;
@@ -4812,6 +4815,8 @@ out3:
4812 kset_unregister(ext4_kset); 4815 kset_unregister(ext4_kset);
4813out4: 4816out4:
4814 exit_ext4_system_zone(); 4817 exit_ext4_system_zone();
4818out5:
4819 exit_ext4_pageio();
4815 return err; 4820 return err;
4816} 4821}
4817 4822
@@ -4827,6 +4832,7 @@ static void __exit exit_ext4_fs(void)
4827 remove_proc_entry("fs/ext4", NULL); 4832 remove_proc_entry("fs/ext4", NULL);
4828 kset_unregister(ext4_kset); 4833 kset_unregister(ext4_kset);
4829 exit_ext4_system_zone(); 4834 exit_ext4_system_zone();
4835 exit_ext4_pageio();
4830} 4836}
4831 4837
4832MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); 4838MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");