Re: [PARPORT] DMA and the parallel port

From: Gora Mohanty (
Date: Sat May 03 2003 - 02:34:23 EDT

  • Next message: Tim Waugh: "Re: [PARPORT] Handling interrupts with select and poll?"

    Matthew Duggan writes:
    >All of the neccessary kernel-mode code has already been written for you. It i
    >much "nicer" to leave the rest in userspace for all sorts of reasons (eg,
    >security, stability, and portability). The speed difference should be
    >negligable with well written code, so unless you have some specific
    >requirements that force you into writing a kernel module, it's better to
    >avoid it.

    Is it really true that the speed difference is negligible? Does anyone have
    an estimate of the factor of increase in speed that can be expected from
    moving to a kernel module? What if the kernel module writes to memory above
    kernel high memory by reserving it at boot time, thus avoiding a copy to
    user-space? The reason I ask is that I have some code that talks to a custom
    piece of electronics over the parallel port, using libieee1284. It works
    great, but I get data transfer speeds of only about 120Kbytes/s, even with
    DMA and interrupts enabled for parport_pc. I was toying with the idea of
    moving to a kernel module, but would only want to do it if I can get at least
    a factor of five or so increase in speed.
      Also, does anyone know if there is a limit to the number of parallel
    ports/PCI parallel port cards that can be supported by Linux on a x86 PC?
    A friend claims that only a max. of 4 can be supported, though he could
    not explain why. I also see that my PC has only /dev/parport0 through


    -- To unsubscribe, send mail to: --
    -- with the single word "unsubscribe" in the body of the message. --

    This archive was generated by hypermail 2b29 : Sat May 03 2003 - 02:54:21 EDT