From owner-soc-status@FreeBSD.ORG Mon Jul 4 23:11:27 2011 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8618106564A for ; Mon, 4 Jul 2011 23:11:26 +0000 (UTC) (envelope-from syuu@dokukino.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id B21858FC0C for ; Mon, 4 Jul 2011 23:11:26 +0000 (UTC) Received: by qwc9 with SMTP id 9so3591689qwc.13 for ; Mon, 04 Jul 2011 16:11:26 -0700 (PDT) Received: by 10.229.232.148 with SMTP id ju20mr5077785qcb.34.1309821085185; Mon, 04 Jul 2011 16:11:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.74.65 with HTTP; Mon, 4 Jul 2011 16:10:45 -0700 (PDT) In-Reply-To: References: From: Takuya ASADA Date: Tue, 5 Jul 2011 08:10:45 +0900 Message-ID: To: soc-status@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [mq_bpf] status report #6 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jul 2011 23:11:27 -0000 *Project summary The project goal is to support multiqueue network interface on BPF, and provide interfaces for multithreaded packet processing using BPF. Modern high performance NICs have multiple receive/send queues and RSS feature, this allows to process packet concurrently on multiple processors. Main purpose of the project is to support these hardware and get benefit of parallelism. Here's status update from last week: * bug fixes & test of "queue len, queue affinity ioctls moved to the device ioctl" Last week I had a these problems: - ifconfig shows invalid affinity value on igb(4) - SOFTRSS doesn't work, fixing - multi queue bpf is not well tested after the change I fixed these in this commit http://p4web.freebsd.org/@@195722?ac=3D10 Also, tested multiqueue bpf on both HW RSS NIC and SOFTRSS NIC. This is output of modified version of ifconfig: igb0: flags=3D8843 metric 0 mtu 150= 0 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D1001bb =C2=A0 =C2=A0 =C2=A0 =C2=A0rxqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0txqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0ether 00:1b:21:53:ed:58 =C2=A0 =C2=A0 =C2=A0 =C2=A0media: Ethernet autoselect =C2=A0 =C2=A0 =C2=A0 =C2=A0status: no carrier igb1: flags=3D8843 metric 0 mtu 150= 0 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D1001bb =C2=A0 =C2=A0 =C2=A0 =C2=A0rxqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0txqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0ether 00:1b:21:53:ed:59 =C2=A0 =C2=A0 =C2=A0 =C2=A0inet 163.215.189.124 netmask 0xffffffc0 broadcas= t 163.215.189.127 =C2=A0 =C2=A0 =C2=A0 =C2=A0media: Ethernet autoselect (1000baseT ) =C2=A0 =C2=A0 =C2=A0 =C2=A0status: active msk0: flags=3D8802 metric 0 mtu 1500 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D2c011b =C2=A0 =C2=A0 =C2=A0 =C2=A0rxqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0txqueue len=3D1 affinity=3D[ 0:0 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0ether bc:ae:c5:3e:a6:3c =C2=A0 =C2=A0 =C2=A0 =C2=A0media: Ethernet autoselect msk1: flags=3D8802 metric 0 mtu 1500 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D2c011b =C2=A0 =C2=A0 =C2=A0 =C2=A0rxqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0txqueue len=3D1 affinity=3D[ 0:0 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0ether bc:ae:c5:3e:a5:67 =C2=A0 =C2=A0 =C2=A0 =C2=A0media: Ethernet autoselect fwe0: flags=3D8802 metric 0 mtu 1500 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D200008 =C2=A0 =C2=A0 =C2=A0 =C2=A0rxqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0txqueue len=3D1 affinity=3D[ 0:0 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0ether 02:1f:c6:09:e4:75 =C2=A0 =C2=A0 =C2=A0 =C2=A0ch 1 dma -1 fwip0: flags=3D8802 metric 0 mtu 1500 =C2=A0 =C2=A0 =C2=A0 =C2=A0lladdr 0.1f.c6.0.0.9.e4.75.a.2.ff.fe.0.0.0.0 lo0: flags=3D8049 metric 0 mtu 16384 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D3 =C2=A0 =C2=A0 =C2=A0 =C2=A0inet 127.0.0.1 netmask 0xff000000 =C2=A0 =C2=A0 =C2=A0 =C2=A0inet6 ::1 prefixlen 128 =C2=A0 =C2=A0 =C2=A0 =C2=A0inet6 fe80::1%lo0 prefixlen 64 scopeid 0xf =C2=A0 =C2=A0 =C2=A0 =C2=A0nd6 options=3D21 vboxnet0: flags=3D8802 metric 0 mtu 1500 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D200000 =C2=A0 =C2=A0 =C2=A0 =C2=A0rxqueue len=3D6 affinity=3D[ 0:0 1:1 2:2 3:3 4:4= 5:5 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0txqueue len=3D1 affinity=3D[ 0:0 ] =C2=A0 =C2=A0 =C2=A0 =C2=A0ether 0a:00:27:00:00:00 Now we have rxqueue/txqueue len & affinity info, and options field shows MULTIQUEUE and SOFT_MULTIQUEUE flags.