Hi all, I've got a digital IO card hanging off an ISA bus in PC/104 system. I'm pushing data packets to it, usually 16-32 bytes per transfer, 100x per second. Apparently ISA bus clock is supposed to run at 8MHz and I expected to achieve somewhat close-to-that performance with my driver. To test the throughput I've got a simple loop in my kernel driver: uint8_t data = 0; while(loops--) { outb(data, iobase); data = ~data; } A frequency probe reveals that the port status is changing at roughly 250kHz (and other timing checks confirm it), which is far less than the expected 8MHz. I've got two questions: 1) Can I speed it up somehow? 2) Apparently it's quite a lot of time between calling outb() and its return. Can the kernel do something else in the meantime, like scheduling another process or handling interrupts, or is it blocked waiting for the outb() return? I'm on a uniprocessor x86 system. Any ideas or pointers? Thanks Michal -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ