Re: 2.6.29-rc3: weird process after resume

From: Andrew Morton
Date: Wed Feb 04 2009 - 21:57:42 EST


On Wed, 4 Feb 2009 18:31:42 -0800 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, 04 Feb 2009 17:45:13 -0800 Alex Romosan <romosan@xxxxxxxxxxxxxxx> wrote:
>
> > Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes:
> >
> > > On Wed, 04 Feb 2009 09:25:20 -0800
> > > Alex Romosan <romosan@xxxxxxxxxxxxxxx> wrote:
> > >
> > >> this is on a thinkpad t61p with an intel core2 cpu. i just noticed
> > >> that after resuming from suspending to memory i get a weirdly named
> > >> process. i did a ps before and after and the only difference was that
> > >> before i had this process:
> > >>
> > >> [hda0/1]
> > >>
> > >> and after this one:
> > >>
> > >> [__?__;??____D__"?______]
> > >>
> > >> with everything else being the same. the laptop seems to be working
> > >> fine and the problem could have been there for a while but i just
> > >> didn't notice it. i am including my .config file. let me know if you
> > >> need anything else.
> > >
> > > Were earlier kernels OK? If so, which version?
> >
> > i just tried 2.6.28 and there was no [hda0] kernel thread. 2.6.29-rc1
> > and rc2 never resumed from suspend so i couldn't really try it.
> >
> > > What the heck is that kernel thread anyway? It looks like something
> > > derived from an IDE device.
> >
> > i have no idea. hda is the cdrom (the disk is sata and shows up as
> > sda).
> >
>
> <rummages through a 68MB diff for a while>
>
> <finds a plum>
>
> + snprintf(qname, sizeof(qname), "hda%d", card->number);
> + bus->workq = create_workqueue(qname);
> + if (!bus->workq) {
> + snd_printk(KERN_ERR "cannot create workqueue %s\n", qname);
> + kfree(bus);
> + return -ENOMEM;
> + }
>
> so it's not IDE after all.
>
> commit 6acaed38a32e8571e92cfc832b971f9e4450c207
> Author: Takashi Iwai <tiwai@xxxxxxx>
> AuthorDate: Mon Jan 12 10:09:24 2009 +0100
> Commit: Takashi Iwai <tiwai@xxxxxxx>
> CommitDate: Mon Jan 12 10:33:56 2009 +0100
>
> ALSA: hda - Use own workqueue
>

btw. Please use create_singlethread_workqueue() if at all possible. I
don't think we need a thread per CPU here.

--
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/