From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailout1.radware.com (mailout1.radware.com [192.115.180.130]) by dpdk.org (Postfix) with ESMTP id 7CB038D9A for ; Tue, 13 Oct 2015 17:40:08 +0200 (CEST) Received: from ILMB2.corp.radware.com ([169.254.2.82]) by ILCAS2.corp.radware.com ([176.200.120.122]) with mapi id 14.03.0210.002; Tue, 13 Oct 2015 18:40:03 +0300 From: Nissim Nisimov To: "'dev@dpdk.org'" Thread-Topic: propose a solution for mapping same virtual address space to asymmetric processes Thread-Index: AdEFzCztSRUGD7HyT42FMoDDDi8OFg== Date: Tue, 13 Oct 2015 15:40:02 +0000 Message-ID: <94AA676E9B9A384A844E7692F3CAD906C54F645D@ILMB2.corp.radware.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [176.200.121.205] MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] propose a solution for mapping same virtual address space to asymmetric processes 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: Tue, 13 Oct 2015 15:40:08 -0000 Hi all, The below will try to suggest a modification to the initialization of Envir= onment Abstraction Layer (AKA EAL) so it will be able to allocate memory zo= nes from same virtual memory addresses even if the primary process is not s= imilar to the secondary processes. Problem: The DPDK Primary/Secondary model requires that the exact same hugepage memo= ry mappings be present in all applications. An issue may occur when the Primary and secondary processes are not symmetr= ic in such way that the code has big differences (for example, Primary proc= ess is a traffic distributer and secondary is a worker). The result may be that specific virtual address region in the first process= won't be available in the second process. Suggested solution: Map all related rte and uio sections somewhere close to the end of huge pag= es memory (that mean rte_eal_memory_init() should be called before rte_conf= ig_init() in primary process) According to our observations there will be more probability to success whe= n allocating the above sections after huge pages section (actually uio is a= lready allocated after the huge pages area) It solved our problem when trying to work with a primary traffic distribute= r which is a very "light" process and few secondary worker processes. Please share your thoughts on this before I will try to commit our patch fo= r review Thanks, Nissim