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

Vivek Goyal
2011-02-25T16:19:16Z

On Fri, Feb 25, 2011 at 05:09:03PM +0100, Tejun Heo wrote:
> 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.

Ok, regenerating the patch with above change. Anyway I had to as I
generated this patch on top of some of my local commits which are
not in Linus tree yet.

Thanks
Vivek