From 9536492cbe1e4c04e873ed97610f90358e45dbe1 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Tue, 1 Feb 2011 11:42:42 +0100 Subject: [PATCH] --- yaml --- r: 234959 b: refs/heads/master c: fd89d5f2030ac83324330bfd0bc73abf1beadaa6 h: refs/heads/master i: 234957: 25cf3331831f4352bb828967b850e1106d120b03 234955: 883c9d90e5b666ab721c23427a2bd219f262bc1f 234951: 53ad36cf02c168270678c546efcd2cb707f1661b 234943: a94e19127b339afb171c033215a5c31b5ec026d0 v: v3 --- [refs] | 2 +- trunk/fs/ext4/super.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 85922e0eacb2..c56783972d79 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 40f38ffb72cd58452dc5afc25ca5215bb90538a4 +refs/heads/master: fd89d5f2030ac83324330bfd0bc73abf1beadaa6 diff --git a/trunk/fs/ext4/super.c b/trunk/fs/ext4/super.c index 48ce561fafac..0fcf6720af09 100644 --- a/trunk/fs/ext4/super.c +++ b/trunk/fs/ext4/super.c @@ -3507,7 +3507,12 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) percpu_counter_set(&sbi->s_dirtyblocks_counter, 0); no_journal: - EXT4_SB(sb)->dio_unwritten_wq = create_workqueue("ext4-dio-unwritten"); + /* + * The maximum number of concurrent works can be high and + * concurrency isn't really necessary. Limit it to 1. + */ + EXT4_SB(sb)->dio_unwritten_wq = + alloc_workqueue("ext4-dio-unwritten", WQ_MEM_RECLAIM, 1); if (!EXT4_SB(sb)->dio_unwritten_wq) { printk(KERN_ERR "EXT4-fs: failed to create DIO workqueue\n"); goto failed_mount_wq;