All of lore.kernel.org
 help / color / mirror / Atom feed
* More linux-2.6.9 module problems
@ 2004-11-08 16:50 linux-os
  2004-11-09 19:51 ` Mike Waychison
  0 siblings, 1 reply; 8+ messages in thread
From: linux-os @ 2004-11-08 16:50 UTC (permalink / raw)
  To: Linux kernel


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)??

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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2004-11-10  0:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-08 16:50 More linux-2.6.9 module problems linux-os
2004-11-09 19:51 ` Mike Waychison
2004-11-09 20:25   ` linux-os
2004-11-09 21:43     ` Mike Waychison
2004-11-09 22:17       ` linux-os
2004-11-09 22:32         ` Mike Waychison
2004-11-09 23:11           ` linux-os
2004-11-10  0:10             ` linux-os

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.