|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: Markers....This may be a good point to observe that the original implementation of COBS was for a wireless radio link which struggled to deliver 19.2kbps of goodput to any individual end-station. I believe the first two (or three, depending on how one counts the appletalk implementation) of COBS all found the change in buffer sizes diffiult to integrate into other operations, and they all implemented COBS encoding/decoding as a copy between encoded and decoded buffers, not as an in-place operation. Even if a COWS data-touching loop is folded into another data-reading loop, COWS encoding/decoding still dirties all the cache lines being encoded or decoded, and will therefore has the same overhead as an additional copy. Performing COBS encoding/decoding in an outbouard accelerator also makes it impossible for those of us who don't trust our I/O busses to perform a `trust, but verify' integrity check: e.g., recomputing the TCP/IP checksum over the data stream as the HBA-cum-NIC deposits it in host memory. Indeed, the original COBS implementation(s) provided only framing; COBS framing was wrapped outside an end-to-end integrity check. I beleive Stuart is still on vacation, but I can ask him to comment on these issues when he gets back, if that would be worthwhile.
Home Last updated: Tue Jan 08 18:17:50 2002 8319 messages in chronological order |