From owner-freebsd-net@FreeBSD.ORG Thu Jan 22 18:12:12 2015 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B83AD753 for ; Thu, 22 Jan 2015 18:12:12 +0000 (UTC) Received: from mail-we0-f177.google.com (mail-we0-f177.google.com [74.125.82.177]) (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 59434E76 for ; Thu, 22 Jan 2015 18:12:11 +0000 (UTC) Received: by mail-we0-f177.google.com with SMTP id l61so3296088wev.8 for ; Thu, 22 Jan 2015 10:12:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=dQgH48uzoouZXRuNfoQJCrTqAofKek3ZMRVwSQUvFQA=; b=QcYugda2fDt3eBPGwGyORtzYPvcIdotv9D2x6tgnlt03DmVZV4Bbi8bQcRjAXuDc4/ CkNcDkSBLne2Cxs+ETv+Padke54AS4ZK04+5iK9W1Jsjd8IfxYX77wfbi4uRPzUMDYnW Wg3P70UhwCv+DKrIxIHmM5GjYuUgiuEiaUBTQT9rXMZZFiXU7D15EMmpWqXitFpriCBu 6YMLZoyhBFpwHteU/+GswfN4eDmD7qExB7iReZeAv8oCxFUJUKyqX1hyoYmIBOB6he1R zrG7bCcACPPGtEXtZK9mN5xE/p3Hh2lM6Y2Da6gLiG/ddlMH4Nf6+7Vw2LYv/DxYgXS/ GVHA== X-Gm-Message-State: ALoCoQluqTnnkQbdjdzgiBaa7oKtcgSFCVTnbMDQ7GhaHXCo1pQn/R5j14vE2h0CrOAF5v9mTb8W MIME-Version: 1.0 X-Received: by 10.194.92.114 with SMTP id cl18mr5230973wjb.119.1421950330266; Thu, 22 Jan 2015 10:12:10 -0800 (PST) Received: by 10.180.97.161 with HTTP; Thu, 22 Jan 2015 10:12:10 -0800 (PST) Date: Thu, 22 Jan 2015 20:12:10 +0200 Message-ID: Subject: Netmap mempool From: Ciprian Barbu To: net@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Jan 2015 18:12:12 -0000 Hello, I have some questions related to OpenDataPlane. I have implemented the I/O access using netmap for ODP but currently it's suffering from low performance due to packets being copied between the netmap slots and ODP buffers. I want to create ODP buffer pools on top of netmap memory but I'm concerned with three things: 1. how to keep a buffer for as long as needed without affecting the receive process; I guess I could use the NS_BUF_CHANGED flag in some way 2. the netmap memory may not be large enough to accommodate a complex ODP application 3. the ODP application may occasionally hold on to buffers for longer time Any help will be appreciated. Thank you, /Ciprian