lkml.org 
[lkml]   [2004]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: More linux-2.6.9 module problems
On Tue, 9 Nov 2004, Mike Waychison wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> linux-os wrote:
>>
>> I have a memory-test procedure that tests
>> memory on a board, accessed via the PCI bus.
>> There is a lot of RAM and it's bank-switched
>> into some 64k windows so it takes a lot of
>> time to test, about 60 seconds.
>>
>> This is in a module, therefore inside the kernel.
>> When it is invoked via an ioctl() call, the
>> kernel is frozen for the whole test-time. The
>> test procedure does not use any spin-locks nor
>> does it even use any semaphores. It just does a
>> bunch of read/write operations over the PCI/Bus.
>>
>> I thought that I could enable the preemptible-
>> kernel option and the machine would then respond
>> normally. Not so. Even with 4 CPUs, when one
>> ioctl() is busy in the kernel, nothing else
>> happens until its done. Even keyboard activity
>> is gone, no Caps Lock and no Num Lock, no `ping`
>> response over the network. However, the machine
>> comes back to life when the memory-test is done.
>>
>> This is kernel version 2.6.9. Is it possible that
>> somebody left on the BKL when calling a module
>> ioctl() on this version? If not, what do I do
>> to be able to execute a time-consuming procedure
>> from inside the kernel? Do I break it up into
>> sections and execute schedule() periodically
>> (temporary work-around --works)??
>>
>
> The BKL has always been grabbed across ioctls. Drop the lock when you
> enter your f_op->ioctl call and grab it again open completion.
>

Hmmm. I get 'scheduling while atomic' screaming across the screen!
There are no atomic operations in my ioctl functions so I don't
know what its complaining about. I think I shouldn't have tried
to do anything with BKL because I (my task) doesn't own it.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.9 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by John Ashcroft.
98.36% of all statistics are fiction.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.047 / U:0.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site