From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx.bisdn.de (mx.bisdn.de [185.27.182.31]) by dpdk.org (Postfix) with ESMTP id 3486C595B for ; Wed, 12 Nov 2014 16:39:00 +0100 (CET) Received: from [172.16.250.161] (unknown [172.16.250.161]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx.bisdn.de (Postfix) with ESMTPSA id 54930A211E for ; Wed, 12 Nov 2014 16:48:53 +0100 (CET) Message-ID: <54638167.9030604@bisdn.de> Date: Wed, 12 Nov 2014 16:48:55 +0100 From: Marc Sune User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131103 Icedove/17.0.10 MIME-Version: 1.0 To: dev@dpdk.org References: <002001cffe5d$2ecf1290$8c6d37b0$@xenanetworks.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] Valgrind and DPDK - RDRAND + RTE_MACHINE obstacle 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: Wed, 12 Nov 2014 15:39:00 -0000 On 12/11/14 15:49, Burakov, Anatoly wrote: > Hi Morten > > I'm not that familiar with valgrind, but as far as I know it's using some kind of CPU emulation. Most likely the processor being emulated by valgrind doesn't have the capabilities your actual CPU has (sort of like trying to run a AVX2-compiled code on a QEMU machine emulating Westmere). You may try to edit the config file to change the RTE_MACHINE to compile DPDK for another platform. I am not aware of internal details of valgrind neither, but I believe Anatoly is right. I assume the application runs without valgrind. I can tell you I am running the DPDK test applications and the DPDK application stuff in qemu VM for development purposes and DPDK apps run in valgrind without problems. So perhaps is the valgrind copy you have? You can try the patched version I use for the moment, that is here: https://github.com/bisdn/valgrind-hugepages One recommendation: once it is working, unless you have a very powerful machine (which my VM isn't) I recommend to add some usleeps in the main I/O loops when running valgrind, otherwise due to the heavyweight emulation valgrind does it slows down application execution considerably. Let's see if it helps. Marc > > Thanks, > Anatoly > > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Morten Jagd Christensen > Sent: Wednesday, November 12, 2014 9:44 AM > To: dev@dpdk.org > Subject: Re: [dpdk-dev] Valgrind and DPDK - RDRAND + RTE_MACHINE obstacle > > Hi all, > > Thanks to Marc for sharinghis experiment and great to hear that others might benefit form the latest developments. > > I can add the following experience: > > Last night I downloaded Valgrind 3.10.0, applied the patch and built Valgrind with success. > > Unfortunately on my hardware (Xeon E5 processors) and dpdk-1.7.1 I now get the following error: > > $ sudo /usr/local/valgrind/bin/valgrind ./build/myprogram -c 0xffff -n 4 ==24093== Memcheck, a memory error detector ==24093== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. > ==24093== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info ==24093== Command: ./build/myprogram -c 0xffff -n 4 ==24093== > ERROR: This system does not support "RDRAND". > Please check that RTE_MACHINE is set correctly. > > Has anyone experienced the same? > > Cheers > > Morten > > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Marc Sune > Sent: 7. november 2014 04:36 > To: Matthew Hall > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] Valgrind and DPDK - does it work ? > > On 07/11/14 02:04, Matthew Hall wrote: >> On Fri, Nov 07, 2014 at 01:22:49AM +0100, Marc Sune wrote: >>> Found some time to have a close look. I also wanted to check a DPDK >>> app against valgrind. It works! >>> >>> I downloaded and compiled valgrind from sources (3.10.0) and applied >>> (manually) this patch: >>> >>> https://bugs.kde.org/attachment.cgi?id=85950&action=edit >>> >>> (Applied around line 2216) >>> >>> From this post: >>> >>> http://valgrind.10908.n7.nabble.com/mpich-unable-to-munmap-hugepages- >>> td49150.html >>> >>> Happy debugging >>> Marc >> Marc, >> >> This is just AMAZING!!! I have wished for it for many years for DPDK, >> ever since I used it in beta before it went GA. > Thanks > > Most kudos though (if not all), should go to T. Janjusic. I just found it and backported to the latest stable: > > https://bugs.kde.org/show_bug.cgi?id=333051 > >> Would it be possible to post your modification of Valgrind in Github, >> Bitbucket, or some other repo? I'd like to try this out on my app, too. > Sure, it is a good idea. > > I just did a quick&dirty import of the latest stable release 3.10.0. No git-svn , or anything fancy (github import failed, silently ignoring > files...) no gitignore too. And then I applied the patch: > > https://github.com/bisdn/valgrind-hugepages > > Please note the comment in README.md, I cannot provide any support or take any responsibility. We will also delete this repo once there is a stable release. > > But you can at least try it, should work ;) > >> Also, not sure if anybody sent this upstream to Valgrind, but if not, >> we really should, so it just works by default from now on. > It already is, there is simply no stable release yet (see Phillipe comment): > > https://bugs.kde.org/show_bug.cgi?id=333051#c8 > > Cheers > Marc >> Thanks, >> Matthew.