From owner-freebsd-current@FreeBSD.ORG Thu May 29 04:47:48 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8F6B1E91; Thu, 29 May 2014 04:47:48 +0000 (UTC) Received: from COL004-OMC3S2.hotmail.com (col004-omc3s2.hotmail.com [65.55.34.140]) by mx1.freebsd.org (Postfix) with ESMTP id 6772729CF; Thu, 29 May 2014 04:47:48 +0000 (UTC) Received: from COL131-DS13 ([65.55.34.136]) by COL004-OMC3S2.hotmail.com with Microsoft SMTPSVC(7.5.7601.22678); Wed, 28 May 2014 21:47:47 -0700 X-TMN: [7CMrXGIODYLOPgfDfmZxxgIisR55KkMI] X-Originating-Email: [fredhps10@hotmail.com] Message-ID: From: Fred Pedrisa To: "'Adrian Chadd'" References: <00c301cf7aee$b00caea0$10260be0$@rlwinm.de> In-Reply-To: Subject: RES: KQueue vs Select (NetMap) Date: Thu, 29 May 2014 01:48:11 -0300 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQHirpLONkJpDgmFWk/rBALGUBsbjAGIqyNfAVVbklMCH1/FHZsIqeBw Content-Language: pt-br X-OriginalArrivalTime: 29 May 2014 04:47:47.0864 (UTC) FILETIME=[2388B180:01CF7AF9] Cc: 'freebsd-current' , 'Jan Bramkamp' X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 May 2014 04:47:48 -0000 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@gmail.com [mailto:adrian.chadd@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 wrote: > Hello, > > Yes, but kqueue support was added in recent commits as it says in the=20 > netmap changelog, is there any advantage ? > > -----Mensagem original----- > De: owner-freebsd-current@freebsd.org > [mailto:owner-freebsd-current@freebsd.org] Em nome de Jan Bramkamp=20 > Enviada em: quinta-feira, 29 de maio de 2014 00:30 > Para: freebsd-current@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=20 > 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.=20 > It is mostly used by application dealing with a large amount of=20 > non-blocking sockets (or other file descriptors). It reduces overhead=20 > inherent in > select() and poll() by preserving state between calls. It also=20 > supports multiple types of events (read ready, write ready, timer=20 > 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=20 > 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=20 > FreeBSD IP stack. > _______________________________________________ > freebsd-current@freebsd.org mailing list=20 > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to = "freebsd-current-unsubscribe@freebsd.org" > > _______________________________________________ > freebsd-current@freebsd.org mailing list=20 > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to = "freebsd-current-unsubscribe@freebsd.org"