From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C15DCA04A3; Tue, 16 Jun 2020 03:52:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E29D349E0; Tue, 16 Jun 2020 03:52:38 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 2EB4D2B94 for ; Tue, 16 Jun 2020 03:52:36 +0200 (CEST) IronPort-SDR: V8+AdLFX/gjICROlPNWaK6BiMQTZ989SoRqKe2T8CPjiFM7XWuosW6VeRiu8lLKFKO7lUAjDEh 5AF3OkANzxrQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2020 18:52:36 -0700 IronPort-SDR: hS4unv3yDxMlBuGoXCnvO70idU9yKzF0gDLeNNC/qaeaxJTPjLNCGqCi2K3ycBoRFwvxunURze iHBgIUx4aSeA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,517,1583222400"; d="scan'208";a="308311797" Received: from orsmsx101.amr.corp.intel.com ([10.22.225.128]) by orsmga008.jf.intel.com with ESMTP; 15 Jun 2020 18:52:36 -0700 Received: from [10.166.30.253] (10.166.30.253) by ORSMSX101.amr.corp.intel.com (10.22.225.128) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 15 Jun 2020 18:52:35 -0700 To: References: <20200610142730.31376-1-dmitry.kozliuk@gmail.com> <20200615004354.14380-1-dmitry.kozliuk@gmail.com> From: Ranjit Menon Message-ID: <771f0c6a-618e-045e-f334-1ca224df917b@intel.com> Date: Mon, 15 Jun 2020 18:52:33 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <20200615004354.14380-1-dmitry.kozliuk@gmail.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [10.166.30.253] Subject: Re: [dpdk-dev] [PATCH v9 00/12] Windows basic memory management X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 6/14/2020 5:43 PM, Dmitry Kozlyuk wrote: > Note for v9: > rte_eal_memory.h renamed, dependent patchsets have to be updated. > > This patchset implements basic MM with the following features: > > * Hugepages are dynamically allocated in user-mode. > * Only 2MB hugepages are supported. > * IOVA is always PA, obtained through kernel-mode driver. > * No 32-bit support (presumably not demanded). > * Ni multi-process support (it is forcefully disabled). > * No-huge mode for testing without IOVA is available. > > Testing revealed Windows Server 2019 does not allow allocating hugepage > memory at a reserved address, despite advertised API. So allocator has > to temporary free the region to be allocated. This creates in inherent > race condition. This issue is being discussed with Microsoft privately. > > New EAL public functions for memory mapping are introduced to mitigate > OS differences in DPDK libraries and applications: rte_mem_map, > rte_mem_unmap, rte_mem_lock, rte_mem_page_size. > > To support common MM routines, internal wrappers for low-level memory > reservation and file management are introduced. These changes affect > Linux and FreeBSD EAL. Shared code is placed unded /unix/ subdirectory > (suggested by Thomas). > > To avoid code duplication between Linux and Windows EAL, common code > for EALs supporting dynamic memory allocation is extracted > (discussed with Anatoly Burakov in v4 thread). This is a separate > patch to ease the review, but it can be merged with the previous one. > > EAL tracepoints save size_t values as long, which is invalid on Windows. > New size_t emitter for tracepoints is introduced (suggested by Jerin > Jacob to Fady Bader, see [1]). Also, to avoid workaround in every file > using the tracepoints, stubs are added to Windows EAL. > > Entire is imported from FreeBSD, replacing existing > partial import. There is already a license exception for this file. > The file is imported as-is, so it causes a bunch of checkpatch warnings. > > [1]: http://mails.dpdk.org/archives/dev/2020-May/168076.html > > --- > > v9: > * Fix build on 32-bit and FreeBSD. > * Rename rte_eal_memory.h to rte_eal_paging.h. > * Do not use rte_panic() in library code. > * Fix typos, comments, string formatting. > * Split documentation commits. > Great work on this, Dmitry! I know the patch has already been applied, but: Acked-by: Ranjit Menon