From: Blue S. <bla...@gm...> - 2008-04-19 19:40:24
|
On 4/17/08, Anthony Liguori <ali...@us...> wrote: > Yes, the vector version of packet receive is tough. I'll take a look at > your patch. Basically, you need to associate a set of RX vectors with each > VLANClientState and then when it comes time to deliver a packet to the VLAN, > before calling fd_read, see if there is an RX vector available for the > client. > > In the case of tap, I want to optimize further and do the initial readv() > to one of the clients RX buffers and then copy that RX buffer to the rest of > the clients if necessary. The vector versions should also help SLIRP to add IP and Ethernet headers to the incoming packets. I made an initial version of the vectored AIO SCSI with ESP. It does not work, but I can see that just using the vectors won't give too much extra performance, because at least initially the vector length is 1. Collecting the statuses may be tricky. |