From owner-freebsd-net@FreeBSD.ORG Sat Jun 28 08:24:38 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C8EEB3FD for ; Sat, 28 Jun 2014 08:24:38 +0000 (UTC) Received: from mail-la0-x22a.google.com (mail-la0-x22a.google.com [IPv6:2a00:1450:4010:c03::22a]) (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 40190213B for ; Sat, 28 Jun 2014 08:24:38 +0000 (UTC) Received: by mail-la0-f42.google.com with SMTP id pn19so3623786lab.15 for ; Sat, 28 Jun 2014 01:24:36 -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=Hk6XDm+2Gz29O/p0U8iPXa5LoqGcg0EwK+gnCnxg6yk=; b=Nd+GFU/oCZnvnS3hzka+i7Y07NtMMttYlwiklu5FvBmFpdE0+xEoVwoRldqSWjaPJx 0cf8cwaC1f9HZ3b/fc0Qc8NpPem6O/1d/r8lMqvqvTuvTJqzVoEUUzwxeQZGgnTSIzTW 8TtTvjhPuP70p1xFG7FsGoGTKgsuNwS8JqpHpIh9BCllMnSklmSjVaTNnZHbu4RccBRk Eokxn4M3o77ELMTlPOMO3jFFgALFBYSnkGe7Tqm4f06eNcbHDzLv5mYqK7X4/tpI/zEt cPod0qC6z4M0BvlXVnUrRglPAijVADNYPmdEzCmeEkNj1D14apC4Hlq15S1EGpBwHd3h zflA== MIME-Version: 1.0 X-Received: by 10.112.218.74 with SMTP id pe10mr18885684lbc.3.1403943876043; Sat, 28 Jun 2014 01:24:36 -0700 (PDT) Sender: rizzo.unipi@gmail.com Received: by 10.114.22.100 with HTTP; Sat, 28 Jun 2014 01:24:35 -0700 (PDT) In-Reply-To: References: <20140614101523.GD22187@onelab2.iet.unipi.it> Date: Sat, 28 Jun 2014 10:24:35 +0200 X-Google-Sender-Auth: G57mQDy0y8b-KTW4GyNyHX1qUUQ Message-ID: Subject: Re: netmap From: Luigi Rizzo To: Prashant Upadhyaya Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18 Cc: "freebsd-net@freebsd.org" , Carlos Ferreira X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jun 2014 08:24:39 -0000 On Saturday, June 28, 2014, Prashant Upadhyaya 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 > wrote: > >> Great! :) >> I will give you the results as soon as I can get them :) >> >> >> >> On 17 June 2014 12:55, Luigi Rizzo > > wrote: >> >> > On Mon, Jun 16, 2014 at 5:30 PM, Carlos Ferreira > > >> > wrote: >> > >> >> Ok, thanks for the enlightenment regarding the loss of performance. >> >> >> >> One question, just to be sure. Does the kernel module contains the VA= LA >> >> 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? >> >> >> > >> > =E2=80=8BVALE 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 - cmf@av.it.pt >> Skype & GTalk -> carlosmf.pt@gmail.com >> >> LinkedIn -> http://www.linkedin.com/in/carlosmferreira >> _______________________________________________ >> freebsd-net@freebsd.org >> mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org >> " >> > > --=20 -----------------------------------------+------------------------------- Prof. Luigi RIZZO, rizzo@iet.unipi.it . 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) -----------------------------------------+-------------------------------