Messages in this thread | | | Date | Fri, 25 Mar 2011 15:58:56 -0400 | From | Ted Ts'o <> | Subject | Re: linux-next: manual merge of the ext4 tree with Linus' tree |
| |
On Fri, Mar 25, 2011 at 03:45:44PM +0100, Tejun Heo wrote: > Both are about the same conversion but the one using alloc_workqueue() > is better because 1. create_singlethread_workqueue() is going away and > 2. it doesn't require strict ordering among queued works. > > Ted, what do you think?
Agreed. And it looks like Linus agreed as well:
diff --cc fs/ext4/super.c index 203f9e4,ccfa686..22546ad --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@@ -3511,12 -3514,7 +3516,12 @@@ static int ext4_fill_super(struct super percpu_counter_set(&sbi->s_dirtyblocks_counter, 0); no_journal: - EXT4_SB(sb)->dio_unwritten_wq = create_singlethread_workqueue("ext4-dio- + /* + * 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); ++ alloc_workqueue("ext4-dio-unwritten", WQ_MEM_RECLAIM | WQ_UNBOUND, 1); if (!EXT4_SB(sb)->dio_unwritten_wq) { printk(KERN_ERR "EXT4-fs: failed to create DIO workqueue\n"); goto failed_mount_wq;
- Ted
| |