Re: csum_and_copy_from_user, tcp_sendmsg and zero-copy question

Nivedita Singhvi (nivedita@us.ibm.com)
Wed, 10 Apr 2002 21:33:28 -0700


> I think that a subset of zero-copy TCP has been
> implemented in the linux kernel as of the 2.4.4
> kernel (David Miller's patch). I say subset because
> examining the tcp_sendmsg code, I see tcp_copy_to_page
> which calls csum_and_copy_from_user which does a copy
> from user. Is my interpretation correct that the
> tcp_sendmsg codepath does zerocopy (for eth drivers
> that support the appropriate dev->feature) but does
> a single copy from user of the data buffer?

Thats correct (if I understand you correctly) - tcp_sendmsg()
code path does a copy from user to kernel. However, the sendfile()
code path does a zerocopy data transfer in the manner you are
thinking of (if I understand you correctly)...

(As of the 2.4.4 kernel).

thanks,
Nivedita

-
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/