lkml.org 
[lkml]   [2004]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectMore linux-2.6.9 module problems

    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.
    -
    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.018 / U:59.952 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site