From owner-svn-src-head@FreeBSD.ORG Wed May 28 00:36:57 2014 Return-Path: Delivered-To: svn-src-head@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 10F82609; Wed, 28 May 2014 00:36:57 +0000 (UTC) Received: from mail-we0-x234.google.com (mail-we0-x234.google.com [IPv6:2a00:1450:400c:c03::234]) (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 26BB626FC; Wed, 28 May 2014 00:36:56 +0000 (UTC) Received: by mail-we0-f180.google.com with SMTP id q58so1565580wes.25 for ; Tue, 27 May 2014 17:36:54 -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=Q5BZ4iXycHNeGze7NHlbtVvlutK6dAY9NnJT2kNqHiY=; b=eEnPxpL9+HTN2NAfJG3wtjZ5V51HdiVRcN87FZnQm7ab927hARTqu5pF1czSdmqt+A hJfAMkK5HbogtpHubnLqlYe+QdUShVeD/Bg1i/AZNF1RsothP9peyw+djLZ2TYa9JQZ6 enytjnhwIfR55avldDFR/8AnujKNQi4F86Hk3T+ORhWAhIT1GNqCpu277SEE4c9Kuv/Z ZNE7Sp3kE3uIaJIB+rxbV1tdR/Pz9IljIlBlysj8Q2yxAaUd4S+ytVoR5w9akd990oEF q06CLx3NUXMnrZjEs2dr1rRHrGP+XB9bhCoAyCAemxJZzpJ+TCEb5kIHeETJI6Yp4tIq fvpg== MIME-Version: 1.0 X-Received: by 10.180.183.131 with SMTP id em3mr42777672wic.56.1401237414141; Tue, 27 May 2014 17:36:54 -0700 (PDT) Sender: rizzo.unipi@gmail.com Received: by 10.194.246.130 with HTTP; Tue, 27 May 2014 17:36:54 -0700 (PDT) In-Reply-To: <201405271818.s4RIIff9045225@svn.freebsd.org> References: <201405271818.s4RIIff9045225@svn.freebsd.org> Date: Wed, 28 May 2014 02:36:54 +0200 X-Google-Sender-Auth: C01TUgAg1-Mf5pdZipa1zSSWm78 Message-ID: Subject: Re: svn commit: r266757 - in head/sys: conf dev/cxgbe dev/cxgbe/common modules/cxgbe/if_cxgbe From: Luigi Rizzo To: Navdeep Parhar Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2014 00:36:57 -0000 On Tue, May 27, 2014 at 8:18 PM, Navdeep Parhar wrote: > Author: np > Date: Tue May 27 18:18:41 2014 > New Revision: 266757 > URL: http://svnweb.freebsd.org/changeset/base/266757 > > Log: > cxgbe(4): netmap support for Terminator 5 (T5) based 10G/40G cards. > Netmap gets its own hardware-assisted virtual interface and won't take > over or disrupt the "normal" interface in any way. You can use both > simultaneously. > > For kernels with DEV_NETMAP, cxgbe(4) carves out an ncxl interface > (note the 'n' prefix) in the hardware to accompany each cxl > interface. These two ifnet's per port share the same wire but really > are separate interfaces in the hardware and software. Each gets its ow= n > L2 MAC addresses (unicast and multicast), MTU, checksum caps, etc. You > should run netmap on the 'n' interfaces only, that's what they are for. > > With this, pkt-gen is able to transmit > 45Mpps out of a single 40G por= t > =E2=80=8Band just for the records, this is with 1 core in userland. Very cool. Do you have an easy way to check what kind of throughput you get when the netmap interface has one hw queue ? cheers luigi of a T580 card. 2 port tx is at ~56Mpps total (28M + 28M) as of now. > Single port receive is at 33Mpps but this is very much a work in > progress. I expect it to be closer to 40Mpps once done. In any case > the current effort can already saturate multiple 10G ports of a T5 card > at the smallest legal packet size. T4 gear is totally untested. > > trantor:~# ./pkt-gen -i ncxl0 -f tx -D 00:07:43:ab:cd:ef > 881.952141 main [1621] interface is ncxl0 > 881.952250 extract_ip_range [275] range is 10.0.0.1:0 to 10.0.0.1:0 > 881.952253 extract_ip_range [275] range is 10.1.0.1:0 to 10.1.0.1:0 > 881.962540 main [1804] mapped 334980KB at 0x801dff000 > Sending on netmap:ncxl0: 4 queues, 1 threads and 1 cpus. > 10.0.0.1 -> 10.1.0.1 (00:00:00:00:00:00 -> 00:07:43:ab:cd:ef) > 881.962562 main [1882] Sending 512 packets every 0.000000000 s > 881.962563 main [1884] Wait 2 secs for phy reset > 884.088516 main [1886] Ready... > 884.088535 nm_open [457] overriding ifname ncxl0 ringid 0x0 flags 0x1 > 884.088607 sender_body [996] start > 884.093246 sender_body [1064] drop copy > 885.090435 main_thread [1418] 45206353 pps (45289533 pkts in 1001840 > usec) > 886.091600 main_thread [1418] 45322792 pps (45375593 pkts in 1001165 > usec) > 887.092435 main_thread [1418] 45313992 pps (45351784 pkts in 1000834 > usec) > 888.094434 main_thread [1418] 45315765 pps (45406397 pkts in 1002000 > usec) > 889.095434 main_thread [1418] 45333218 pps (45378551 pkts in 1001000 > usec) > 890.097434 main_thread [1418] 45315247 pps (45405877 pkts in 1002000 > usec) > 891.099434 main_thread [1418] 45326515 pps (45417168 pkts in 1002000 > usec) > 892.101434 main_thread [1418] 45333039 pps (45423705 pkts in 1002000 > usec) > 893.103434 main_thread [1418] 45324105 pps (45414708 pkts in 1001999 > usec) > 894.105434 main_thread [1418] 45318042 pps (45408723 pkts in 1002001 > usec) > 895.106434 main_thread [1418] 45332430 pps (45377762 pkts in 1001000 > usec) > 896.107434 main_thread [1418] 45338072 pps (45383410 pkts in 1001000 > usec) > ... > > Relnotes: Yes > Sponsored by: Chelsio Communications. > > Added: > head/sys/dev/cxgbe/t4_netmap.c (contents, props changed) > Modified: > head/sys/conf/files > head/sys/dev/cxgbe/adapter.h > head/sys/dev/cxgbe/common/common.h > head/sys/dev/cxgbe/common/t4_hw.c > head/sys/dev/cxgbe/t4_main.c > head/sys/dev/cxgbe/t4_sge.c > head/sys/modules/cxgbe/if_cxgbe/Makefile > >