From owner-soc-status@freebsd.org Tue Jul 21 14:53:37 2015 Return-Path: Delivered-To: soc-status@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 91F549A77A7 for ; Tue, 21 Jul 2015 14:53:37 +0000 (UTC) (envelope-from stefanogarzarella@gmail.com) Received: from mail-la0-x22b.google.com (mail-la0-x22b.google.com [IPv6:2a00:1450:4010:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 175EC1558; Tue, 21 Jul 2015 14:53:37 +0000 (UTC) (envelope-from stefanogarzarella@gmail.com) Received: by lahh5 with SMTP id h5so119547636lah.2; Tue, 21 Jul 2015 07:53:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:cc:content-type; bh=hS4ujbHtOcpwd5TiIjn9Psq2axTcLN+0WnlBhSDabNU=; b=dulvs3QNQ6QolShGv8rYpvHSRTEUJqmkhSyG9VnjeYxXDMR64Mt1l6PO4geMgoDpIn s3eZp0dURK5v2fBKabpjuKLJ20pwUZMlGzrrWHdz5dxxjWplRYIj8j2fdVYszXmkmM7s 6lBvjeUTMVaWP4T9b36TgFCg2J9y6pDVjBoxNOtzyMcwONTQsb2V6FY3tLTSZ4HDxCud CWrZH8s2+XOmakU9hKV3k/JmgEvEqEvO2+bEkgnfk78RbAZ3zuoLVCy6zNBcw/VPNT6f i20vOlT2GhtOMJw6yYDGFJGBSmV6i9ivXx5vY4Sth/eUnLKRWZtLJqOf1NfjZ0qeRLHL +D1A== X-Received: by 10.112.63.137 with SMTP id g9mr33210442lbs.121.1437490414979; Tue, 21 Jul 2015 07:53:34 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.216.3 with HTTP; Tue, 21 Jul 2015 07:53:15 -0700 (PDT) From: Stefano Garzarella Date: Tue, 21 Jul 2015 16:53:15 +0200 Message-ID: Subject: ptnetmap on bhyve status report To: soc-status@freebsd.org Cc: Luigi Rizzo , Peter Grehan , Neel Natu Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.20 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: Tue, 21 Jul 2015 14:53:37 -0000 Dear All, I've successfully mapped the netmap memory in the guest VM last week. I added a new IOCTL in vmm.ko to map netmap memory (returned by the mmap() in the byvhe user space application) in the guest VM. In this way the netmap memory is shared between guest and host. After that I created a kthreads in netmap-host to comunicate with the netmap-guest through shared memory. Since I haven't yet implemented the notification mechanism, I tested it with busy-wait. Both netmap-guest and netmap-host continually poll the shared memory to wait new slots. The performance (guest->host & host->guest) is very good and it is very close to the native performance (host-host experiments) and Linux-KVM performance: - physical ixgbe device [14 Mpps ~line rate] - VALE software switches [24 Mpps] - netmap-pipes (shared memory channels) [50 Mpps] I'm going to start the last step: implement notification mechanism in bhyve/FreeBSD. We want to have a mechanism to exchange notifications between guest and host kthreads. The code is available on https://svnweb.freebsd.org/socsvn/soc2015/stefano/ptnetmap/stable/10/ Thanks, Stefano Garzarella.