Re: Is it a workqueue related issue in 2.6.37 (Was: Re: [libvirt] blkio cgroup [solved])

Tejun Heo
2011-02-25T16:09:09Z

Hello,

On Fri, Feb 25, 2011 at 11:03:53AM -0500, Vivek Goyal wrote:
> +int kthrotld_schedule_delayed_work(struct throtl_data *td,
> + struct delayed_work *dwork, unsigned long delay)
> +{
> + return queue_delayed_work(kthrotld_workqueue, dwork, delay);
> +}
> +

I don't think wrapping is necessary. Defining and using a workqueue
directly should be enough.

> @@ -1113,6 +1120,11 @@ void blk_throtl_exit(struct request_queu
>
> static int __init throtl_init(void)
> {
> + kthrotld_workqueue = alloc_workqueue("kthrotld",
> + WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);

And I don't think kthrotld needs to be HIGHPRI.

Thanks.

--
tejun