xfs
[Top] [All Lists]

Re: [PATCH 5/6] xfs: convert the xfsaild threads to a workqueue

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 5/6] xfs: convert the xfsaild threads to a workqueue
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Thu, 10 Mar 2011 12:48:18 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1299715529-11026-6-git-send-email-david@xxxxxxxxxxxxx>
References: <1299715529-11026-1-git-send-email-david@xxxxxxxxxxxxx> <1299715529-11026-6-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
>  STATIC int __init
> +xfs_init_workqueues(void)

> +STATIC void __exit
> +xfs_destroy_workqueues(void)

I don't think these helpers are overly useful.

> +     xfs_ail_wq = alloc_workqueue("xfsail", WQ_CPU_INTENSIVE, 8);

> +}


> +static void
> +xfs_ail_push_queue(
> +     struct xfs_ail          *ailp,
> +     xfs_lsn_t               threshold_lsn,
> +     int                     tout)
> +{
> +     if (XFS_LSN_CMP(threshold_lsn, ailp->xa_target) > 0) {
> +             ailp->xa_target = threshold_lsn;
> +             queue_delayed_work(xfs_syncd_wq, &ailp->xa_work, tout);

tout is always one in the only caller and thus doesn't need to be
passed.  But I think you really want a timeout of 0 here to queue it up
ASAP (it translates to a direct queue_work() call internally).

Also this function could simply be merged into it's only and relatively
simple caller.

<Prev in Thread] Current Thread [Next in Thread>