On Thursday 29 May 2014 01:57:38 Fred Pedrisa wrote: > Hello, > > There are 4 threads, and a total of 32 FDs. What do you think ? I think it is time for you to try it and find out... I suspect it wouldn't make much difference at all if you just implement select semantics with kqueue. > -----Mensagem original----- > De: owner-freebsd-current_at_freebsd.org > [mailto:owner-freebsd-current_at_freebsd.org] Em nome de Adrian Chadd > Enviada em: quinta-feira, 29 de maio de 2014 01:52 > Para: Fred Pedrisa > Cc: freebsd-current; Jan Bramkamp > Assunto: Re: KQueue vs Select (NetMap) > > If your netmap thread(s) just have one or two FDs in some low range (say, > under FD 8 or 10) - no. > > If you have a whole bunch of active FDs and your netmap threads get FDs that > are high - then yes. select() operates on a bitmap of FD numbers. So if > your netmap FD is like, FD 8 and it's the highest FD that you're interested > in, select() only has to scan up to that FD. So it scans up to 8 FDs. If > you have a very active program and it has thousands of FDs open, select() > has to check all the FDs in the bitmap to see if they're set before getting > to your netmap FD. > > So yes. kqueue() is actually rather nice. > > > > -a > > On 28 May 2014 21:48, Fred Pedrisa <fredhps10_at_hotmail.com> wrote: > > Hello, > > > > Ok, but in practice, is there any performance gain by moving from select > > to kQueue implementation ? Or is it not significant at all ? > > > -----Mensagem original----- > > De: adrian.chadd_at_gmail.com [mailto:adrian.chadd_at_gmail.com] Em nome de > > Adrian Chadd Enviada em: quinta-feira, 29 de maio de 2014 01:46 > > Para: Fred Pedrisa > > Cc: Jan Bramkamp; freebsd-current > > Assunto: Re: KQueue vs Select (NetMap) > > > > The advantage is being able to include it in the rest of a kqueue IO loop > > where it's doing other things. > > > -a > > > > On 28 May 2014 20:53, Fred Pedrisa <fredhps10_at_hotmail.com> wrote: > >> Hello, > >> > >> Yes, but kqueue support was added in recent commits as it says in the > >> netmap changelog, is there any advantage ? > >> > >> -----Mensagem original----- > >> De: owner-freebsd-current_at_freebsd.org > >> [mailto:owner-freebsd-current_at_freebsd.org] Em nome de Jan Bramkamp > >> Enviada em: quinta-feira, 29 de maio de 2014 00:30 > >> Para: freebsd-current_at_freebsd.org > >> Assunto: Re: KQueue vs Select (NetMap) > >> > >> On 29.05.2014 03:04, Fred Pedrisa wrote: > >>> Hey Guys, > >>> > >>> > >>> > >>> How does kQueue performs over select with netmap ? > >> > >> You are asking for a comparison between apples and oranges. Netmap is > >> an API for high performance access to the low-level features of > >> modern NICs. It works on batches of frames in hardware queues. > >> > >> The kqueue() and kevent() system calls are an event notification API. > >> It is mostly used by application dealing with a large amount of > >> non-blocking sockets (or other file descriptors). It reduces overhead > >> inherent in > >> select() and poll() by preserving state between calls. It also > >> supports multiple types of events (read ready, write ready, timer > >> expired, async i/o, etc.). > >> > >> Afaik the netmap pseudo-device supports only select() and poll(). > >> This is no performance problem because every thread will only deal > >> with a small number of file descriptors to netmap devices. > >> > >> Netmap is designed to bypass the FreeBSD IP stack (for most frames). > >> Kqueue is designed to scale to many sockets per process within the > >> FreeBSD IP stack. > >> _______________________________________________ > >> freebsd-current_at_freebsd.org mailing list > >> http://lists.freebsd.org/mailman/listinfo/freebsd-current > >> To unsubscribe, send any mail to > > "freebsd-current-unsubscribe_at_freebsd.org" > > >> _______________________________________________ > >> freebsd-current_at_freebsd.org mailing list > >> http://lists.freebsd.org/mailman/listinfo/freebsd-current > >> To unsubscribe, send any mail to > > "freebsd-current-unsubscribe_at_freebsd.org" > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" -- Peter Wemm - peter_at_wemm.org; peter_at_FreeBSD.org; peter_at_yahoo-inc.com; KI6FJV UTF-8: for when a ' just won\342\200\231t do.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:49 UTC