[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <466078FF.2080508@cfl.rr.com>
Date: Fri, 01 Jun 2007 15:52:31 -0400
From: Mark Hounschell <dmarkh@....rr.com>
To: Oleg Nesterov <oleg@...sign.ru>
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
Oleg Nesterov wrote:
> 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?
>
2.6.22-rc3 is fine thanks.
Regards
Mark
-
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