From owner-freebsd-current@FreeBSD.ORG Thu May 29 04:50:00 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 7DCCFFCB for ; Thu, 29 May 2014 04:50:00 +0000 (UTC) Received: from mail-qg0-x235.google.com (mail-qg0-x235.google.com [IPv6:2607:f8b0:400d:c04::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 39DFE29EF for ; Thu, 29 May 2014 04:50:00 +0000 (UTC) Received: by mail-qg0-f53.google.com with SMTP id f51so20569001qge.26 for ; Wed, 28 May 2014 21:49:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=qTmpB5GkmDRCaIcNK75nJ3jxhgr2Dkha5Ahs/KdBd44=; b=rvEWsMuulvn3Um2hmRLw0LPzuVbxyqg3cKBx0wc77aU1wy8HqHDlsBT2E/BPmdKwZb KXQZU2W1cp+rcIOc5of8pSqEjE0bFV47z9ebajKiZbXW+s3WoInqOyddXyNMfYGeGEkx Tlgvul1/y6GG/9NzQaCnR6jvUjwMQlUw0c51hI1i3x2wZzVlfGCV9Hn7LZnzTVNkXw+e lduRtjTVDgVBNvV8svBazPOFgzn8AfSbCg3GfXLR5WdmUg4hpIvaKgCPz7ik8axNFJ1N vVjWBjN60GD/MiaJMiXtZyVcwfbDyTOVnvF2n23RCjD8ZRyql1JuqPLX95nAHhpBq++5 wsGQ== MIME-Version: 1.0 X-Received: by 10.140.35.212 with SMTP id n78mr5593284qgn.87.1401338999162; Wed, 28 May 2014 21:49:59 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.191.201 with HTTP; Wed, 28 May 2014 21:49:59 -0700 (PDT) In-Reply-To: References: <00c301cf7aee$b00caea0$10260be0$@rlwinm.de> Date: Wed, 28 May 2014 21:49:59 -0700 X-Google-Sender-Auth: OtFt58p-RX9o5s0-H_ttfEokysg Message-ID: Subject: Re: KQueue vs Select (NetMap) From: Adrian Chadd To: Fred Pedrisa Content-Type: text/plain; charset=UTF-8 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:50:00 -0000 On 28 May 2014 21:48, Fred Pedrisa 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@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 >> 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 >> 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 >> 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@freebsd.org mailing list >> 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 >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >