On Saturday, June 28, 2014, Prashant Upadhyaya <[email protected]> wrote:
> Hi, > > Any further news ? > > Professor Luigi, one question regarding the tx with netmap. > Whenever, I write a packet from user space into netmap rings, and if I > want netmap to send this out immediately, do I necessarily have to do > a ioctl(fd, NIOCTXSYNC, NULL) ? > Yes it is up to the application to decide when to push packets out with a txsync or select() or poll(), and unfortunately there is a tradeoff between efficiency and latency Cheers Luigi > > I have an application which receives packets, does some processing and > then sends them out. If I keep doing ioctl's on every packet send, then > there will be too may system calls hitting performance, the application > can't afford to block it has to return back to polling for the receipt of > next packet. > > On the receive side, I see that I don't have a problem because I can poll > the ring without initiating an RXSYNC and whenever in user space I find > that there is nothing on the ring (probably half way down the ring size), I > do an RXSYNC to get more packets thus saving system calls. > > But on tx side, I have noticed that unless I do a TXSYNC, the packet does > not go out, please let me know if I am missing something. > > Regards > -Prashant > > > > On Tue, Jun 17, 2014 at 7:33 PM, Carlos Ferreira <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: > >> Great! :) >> I will give you the results as soon as I can get them :) >> >> >> >> On 17 June 2014 12:55, Luigi Rizzo <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >> >> > On Mon, Jun 16, 2014 at 5:30 PM, Carlos Ferreira <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >> > wrote: >> > >> >> Ok, thanks for the enlightenment regarding the loss of performance. >> >> >> >> One question, just to be sure. Does the kernel module contains the VALA >> >> switch code? Or do I need to compile extra code to have the switch >> working? >> >> Also, where can I find the documentation to use the Vala Switch? >> >> >> > >> > ​VALE is part of the netmap kernel module, the only thing you need >> > to know to use it is port names: >> > you can have multiple switch instances with multiple ports each, >> > >> > valeX:Y means port Y on switch X, X and Y are arbitrary strings >> > with the constraint that the whole name must fit 15 characters. >> > >> > Details in the netmap manpage >> > >> > cheers >> > luigi >> > >> > >> >> >> -- >> >> Carlos Miguel Ferreira >> Researcher at Telecommunications Institute >> Aveiro - Portugal >> Work E-mail - [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');> >> Skype & GTalk -> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> LinkedIn -> http://www.linkedin.com/in/carlosmferreira >> _______________________________________________ >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>" >> > > -- -----------------------------------------+------------------------------- Prof. Luigi RIZZO, [email protected] . Dip. di Ing. dell'Informazione http://www.iet.unipi.it/~luigi/ . Universita` di Pisa TEL +39-050-2211611 . via Diotisalvi 2 Mobile +39-338-6809875 . 56122 PISA (Italy) -----------------------------------------+------------------------------- _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[email protected]"
