Messages in this thread | | | Subject | Re: [PATCH] Re: Move of input drivers, some word needed from you | From | tytso@valinux ... | Date | Tue, 22 Aug 2000 08:31:51 -0700 |
| |
Date: Tue, 22 Aug 2000 13:48:23 +0200 (MET DST) From: Bjorn Wesen <bjorn@sparta.lu.se>
Forget the circular buffer and use a chain of buffers instead on the incoming queue. A circular buffer is just a fixed buffer-chain of 1-byte elements, but with an overflow headache and a flipping problem..
Trust me, you don't want to re-invent BSD clists. They are a performance disaster.
A line discipline doing raw tty I/O can do zero-copy, in the sense that the serial driver on the receiving end gives away its received buffers to the upper levels. Just like in the network stack.
I verymuch doubt that given all of setup overhead and general hair/complexity necessary for zero-copy, that this would be useful *at* *all* in any real-life application. The code is already optimized for single-copy; given the relative speeds of serial transfer rates versus memory copy speeds, this is a pointless optimization.
- Ted - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |