On Mon, 3 Jan 2011, Tejun Heo wrote: > fsc->*_wq's aren't depended upon during memory reclaim. Convert to > alloc_workqueue() w/o WQ_MEM_RECLAIM. > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> > Cc: Sage Weil <sage@xxxxxxxxxxxx> > Cc: ceph-devel@xxxxxxxxxxxxxxx > --- > Only compile tested. Please feel free to take it into the subsystem > tree or simply ack - I'll route it through the wq tree. I'll take this one through the ceph tree as well. Thanks! sage > > Thanks. > > fs/ceph/super.c | 10 +++++++--- > 1 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/fs/ceph/super.c b/fs/ceph/super.c > index 08b460a..1f6436e 100644 > --- a/fs/ceph/super.c > +++ b/fs/ceph/super.c > @@ -443,13 +443,17 @@ struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt, > goto fail_client; > > err = -ENOMEM; > - fsc->wb_wq = create_workqueue("ceph-writeback"); > + /* > + * The number of concurrent works can be high but they don't need > + * to be processed in parallel, limit concurrency. > + */ > + fsc->wb_wq = alloc_workqueue("ceph-writeback", 0, 1); > if (fsc->wb_wq == NULL) > goto fail_bdi; > - fsc->pg_inv_wq = create_singlethread_workqueue("ceph-pg-invalid"); > + fsc->pg_inv_wq = alloc_workqueue("ceph-pg-invalid", 0, 1); > if (fsc->pg_inv_wq == NULL) > goto fail_wb_wq; > - fsc->trunc_wq = create_singlethread_workqueue("ceph-trunc"); > + fsc->trunc_wq = alloc_workqueue("ceph-trunc", 0, 1); > if (fsc->trunc_wq == NULL) > goto fail_pg_inv_wq; > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html