From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 10BDF2BE0 for ; Thu, 4 Aug 2016 18:14:28 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP; 04 Aug 2016 09:14:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,470,1464678000"; d="scan'208";a="1029787245" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.104]) ([10.237.220.104]) by orsmga002.jf.intel.com with ESMTP; 04 Aug 2016 09:14:27 -0700 To: Gopakumar Choorakkot Edakkunni , dev@dpdk.org, olivier.matz@6wind.com References: From: Ferruh Yigit Message-ID: <57A369E2.6070506@intel.com> Date: Thu, 4 Aug 2016 17:14:26 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] dpdk 16.07, issues with rte_mempool_create and rte_kni_alloc() X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2016 16:14:29 -0000 On 8/1/2016 10:19 PM, Gopakumar Choorakkot Edakkunni wrote: > Well, for my purpose I just ended up creating a seperate/smaller pool > earlier during bootup to try to guarantee its from one memseg. > > But I am assuming that this KNI restriction is something thats "currently" > not fixed and is "fixable" ? > Any ideas on what the summary of the reason > for this restriction is - I was gonna check if I can fix that KNI expects all mbufs are from a physically continuous memory. This is because of current address translation implementation. mbufs allocated in userspace and accessed from both user and kernel space, so mbuf userspace virtual address needs to be converted into kernelspace virtual address. Currently this address translation done by first calculating an offset between virtual addresses using first filed of mempool, later applying same offset to all mbufs. This is why all mbufs should be in physically continuous memory. I think this address translation can be done in different way which can remove the restriction, but not sure about the effect of the performance. I will send a patch for this. Regards, ferruh