Messages in this thread | | | From | "David S. Miller" <> | Date | Sun, 29 Apr 2001 04:06:16 -0700 (PDT) | Subject | Re: Zerocopy implementation issues |
| |
Russell King writes: > Or am I missing something?
csum_block_*() has nothing to do with checksumming buffers, it 2's complement adds two integers passed as arguments based upon the offset of one of the buffers (this decides if one of the csums needs to be byte swapped before the 2's complement addition to get a correct result).
That was the point of my mail, the last_byte_was_odd code had nothing to do with what your checksum code needs to be doing, never did and never will. Your premise was that the last_byte_was_odd code "proved" that the csum_partial_copy destination buffer could not be byte aligned, and I tried to show that the last_byte_was_odd code had nothing to do with whether that was allowed or not.
Your csum_partial_copy*() code needs to handle unaligned destination buffers, period.
I understand that you are frustruated about this and it requires you to touch some delicate assembly. But I'm going to be blunt and say "tough", because everyone has to implement this correctly. Just do it and get it over with.
Later, David S. Miller davem@redhat.com - 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/
| |