From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 3BF1A5915 for ; Sat, 6 Dec 2014 14:48:12 +0100 (CET) Received: from [2001:470:8:a08:215:ff:fecc:4872] (helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1XxFiS-0003W1-Px; Sat, 06 Dec 2014 08:48:10 -0500 Date: Sat, 6 Dec 2014 08:48:01 -0500 From: Neil Horman To: Vijayakumar Muthuvel Manickam Message-ID: <20141206134801.GA13596@localhost.localdomain> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Running 32bit secondary with 64bit primary DPDK process 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: Sat, 06 Dec 2014 13:48:12 -0000 On Fri, Dec 05, 2014 at 11:58:10PM -0800, Vijayakumar Muthuvel Manickam wrote: > Hi, > > I have a patch that enables 32bit secondary DPDK processes to attach with > 64bit primary DPDK process and share the mempool and ring datastructures. I > developed this patch to enable our product(from Brocade) which uses a 32bit > userspace network stack to be able to work with PMDs like ivshmem and some > proprietary PMDs that are available only for 64bit version of the primary > process. > > To achieve this, > 1) I changed the mmap() of hugepages in primary process to use MAP_32BIT > flag so that all hugepages are mapped within the 4GB virtual address limit > and > 2) Added a dummy pad_pointer member variable next to each pointer member > within the shared datastructures like struct rte_ring, struct > rte_mempool, struct rte_pktmbuf, TAILQ_HEAD, struct hugepage_file that both > primary and secondary share. > > I have been able to successfully run a 64bit primary process with multiple > 32bit secondary processes doing packet processing with the pipeline model. > > I would like to know if this compatibility support is of interest to the > community and if so I can submit my patch. > > Thanks, > Vijay > It never hurts to post something. Neil