Re: [PATCH] remove name length check in a workqueue

Andrew Morton
2005-08-10T17:06:48Z

Ingo Molnar <mingo@redhat.com> wrote:
>
>
> yeah ... cannot remember why i have done it originally :-|
>

Might it be to do with sizeof(task_struct.comm)?

>
> On Wed, 10 Aug 2005, James Bottomley wrote:
>
> > Ingo,
> >
> > This has been in the workqueue code in day one, for no real reason that
> > I can see. We just tripped over it in SCSI because the fibre channel
> > transport class creates one workqueue per host with the name scsi_wq_%d
> > which trips this after we get to 100. Unfortunately we just came across
> > someone with > 100 host adapters ...
> >
> > I think the solution is just to get rid of the artificial limit.
> >
> > James
> >
> > diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> > --- a/kernel/workqueue.c
> > +++ b/kernel/workqueue.c
> > @@ -308,8 +308,6 @@ struct workqueue_struct *__create_workqu
> > struct workqueue_struct *wq;
> > struct task_struct *p;
> >
> > - BUG_ON(strlen(name) > 10);
> > -
> > wq = kmalloc(sizeof(*wq), GFP_KERNEL);
> > if (!wq)
> > return NULL;
> >
> >