[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070601183642.GA92@tv-sign.ru>
Date: Fri, 1 Jun 2007 22:36:42 +0400
From: Oleg Nesterov <oleg@...sign.ru>
To: Mark Hounschell <dmarkh@....rr.com>
Cc: Mark Hounschell <markh@...pro.net>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>
Subject: Re: floppy.c soft lockup
On 06/01, Mark Hounschell wrote:
>
> Oleg Nesterov wrote:
> >
> > Could you apply the trivial patch below, and change the i/o thread to do
> >
> > prctl(1234); // hangs ???
> > printf(something);
> > ioctl(Q->DevSpec1, FDSETPRM, &medprm); // this hangs
> >
> > to see if prctl() hangs or not? This way we can narrow the problem.
> > (of course, you can just kill the above ioctl() if this is possible).
> >
> > Thanks!
> >
> > Oleg.
> >
> > --- OLD/kernel/sys.c~ 2007-04-03 13:05:02.000000000 +0400
> > +++ OLD/kernel/sys.c 2007-06-01 18:56:22.000000000 +0400
> > @@ -2147,6 +2147,11 @@ asmlinkage long sys_prctl(int option, un
> > {
> > long error;
> >
> > + if (option == 1234) {
> > + flush_scheduled_work();
> > + return 0;
> > + }
> > +
> > error = security_task_prctl(option, arg2, arg3, arg4, arg5);
> > if (error)
> > return error;
> >
> > -
>
>
> Ok the prctl never returned. I just replaced the ioctl with it and added
> a printf before and after. I only get the one before. The thread is hung
> at this point just as if I'd done the ioctl?
Thanks. So we can rule out floppy.c. flush_scheduled_work/flush_workqueue
is broken by this RT application. Imho, this is not the kernel problem.
Now I am very sure that the initial suspect was correct: cpu starvation.
I can cook a debug patch to be 100% sure tomorrow, which kernel version is
most convenient to you?
Oleg.
-
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