[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHrUA357c2eCq=VkZwL97-nK7Kopzfj84gSESxebhL_P7rCurw@mail.gmail.com>
Date: Tue, 16 Aug 2011 14:24:12 -0500
From: Linas Vepstas <linasvepstas@...il.com>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Matt Fleming <matt@...sole-pimps.org>,
Tejun Heo <tj@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] powerpc/eeh: remove eeh_event_handler()->daemonize()
On 16 August 2011 14:08, Oleg Nesterov <oleg@...hat.com> wrote:
> daemonize() is only needed when a user-space task does kernel_thread().
>
> eeh_event_handler() thread is created by the worker kthread, and thus
> it doesn't need the soon-to-be-deprecated daemonize().
>
> Note: looks like eeh_event_wq can be static and it can do all work
> itself without kernel_thread().
>
> Signed-off-by: Oleg Nesterov <oleg@...hat.com>
I've not been following the deprecation of daemonize(), so I presume
that the suggested change is indeed appropriate.
As to the kernel thread, realize that the eeh recovery proceedure
can take many seconds, or in certain pathological situations, it
can hang (e.g. if a sata controller dies and fails to recover when
there's a mounted file system on it ..)
so, given that, I'll just say:
Acked-by: Linas Vepstas <linasvepstas@...il.com>
BTW, if someone wants to tackle a big, difficult project, one would be
to untangle the mess that happens when the hardware underneath an
active block device dies. Currently, the kernel will deadlock in
umpteen zillion places waiting for blocks and files that will never
arrive.
--linas
> ---
>
> arch/powerpc/platforms/pseries/eeh_event.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- 3.1/arch/powerpc/platforms/pseries/eeh_event.c~3_daemonize_eeh 2011-04-06 21:33:42.000000000 +0200
> +++ 3.1/arch/powerpc/platforms/pseries/eeh_event.c 2011-08-16 21:03:56.000000000 +0200
> @@ -60,7 +60,7 @@ static int eeh_event_handler(void * dumm
> struct eeh_event *event;
> struct pci_dn *pdn;
>
> - daemonize ("eehd");
> + set_task_comm(current, "eehd");
> set_current_state(TASK_INTERRUPTIBLE);
>
> spin_lock_irqsave(&eeh_eventlist_lock, flags);
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists