Re: [PATCH 22/32] ceph: fsc->*_wq's aren't used in memory reclaimpath

From: Sage Weil
Date: Mon Jan 03 2011 - 12:52:46 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/