tcp_recvmsg() only does the copy from the receive_queue
or the backlog queue. tcp_rcv_established() does the copy
directly into the iovec or queues it onto the receive_queue
or backlog queue for tcp_recvmsg() to complete the work. So
there arent two copies of the same data happening, just a
question of one or the other function doing the work depending
on whether there is currently a process doing a read or not..
hth,
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/