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 09309A00C2; Fri, 24 Apr 2020 11:14:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 614B61C1D5; Fri, 24 Apr 2020 11:14:34 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 6C3321BF7D for ; Fri, 24 Apr 2020 11:14:32 +0200 (CEST) IronPort-SDR: 2ibYdD/mHyoHveg58SVkEbNa7C9tYMwOKw+X7udDFdJRixXJFf7LucHCMu/R4k3DSquF5ht31W v4USC1CeFsaQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2020 02:14:31 -0700 IronPort-SDR: tZZ54uY9zbX3xp8jb1POLOTY6cAkLjwJL/hFSs8FcCXZegxUlNzLN84BXYKgYvCXavyUIpVMmP aBjuToz3Rfow== X-IronPort-AV: E=Sophos;i="5.73,311,1583222400"; d="scan'208";a="430700535" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.36.26]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 24 Apr 2020 02:14:25 -0700 Date: Fri, 24 Apr 2020 10:14:21 +0100 From: Bruce Richardson To: "Burakov, Anatoly" Cc: David Marchand , Li Feng , dev , Kyle Zhang , Feng Li , fanyang@smartx.com Message-ID: <20200424091421.GB1440@bricha3-MOBL.ger.corp.intel.com> References: <20200420070508.645533-1-fengli@smartx.com> <20200423154302.2217041-1-fengli@smartx.com> <9d6dc63b-34f7-36b3-5c3f-df74b71d961c@intel.com> <083d248a-77dd-0b07-cb8b-f2703e8503f5@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <083d248a-77dd-0b07-cb8b-f2703e8503f5@intel.com> Subject: Re: [dpdk-dev] [PATCH v2] eal: add madvise to avoid dump memory 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 Fri, Apr 24, 2020 at 10:12:10AM +0100, Burakov, Anatoly wrote: > On 23-Apr-20 9:04 PM, David Marchand wrote: > > On Thu, Apr 23, 2020 at 6:34 PM Burakov, Anatoly > > wrote: > > > > diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c > > > > index cc7d54e0c..2d9564b28 100644 > > > > --- a/lib/librte_eal/common/eal_common_memory.c > > > > +++ b/lib/librte_eal/common/eal_common_memory.c > > > > @@ -177,6 +177,20 @@ eal_get_virtual_area(void *requested_addr, size_t *size, > > > > after_len = RTE_PTR_DIFF(map_end, aligned_end); > > > > if (after_len > 0) > > > > munmap(aligned_end, after_len); > > > > + > > > > + /* > > > > + * Exclude this pages from a core dump. > > > > + */ > > > > + if (madvise(aligned_addr, *size, MADV_DONTDUMP) != 0) > > > > + RTE_LOG(WARNING, EAL, "Madvise with MADV_DONTDUMP failed: %s\n", > > > > + strerror(errno));> + } else { > > > > + /* > > > > + * Exclude this pages from a core dump. > > > > + */ > > > > + if (madvise(mapped_addr, map_sz, MADV_DONTDUMP) != 0) > > > > + RTE_LOG(WARNING, EAL, "Madvise with MADV_DONTDUMP failed: %s\n", > > > > + strerror(errno)); > > > > } > > > > > > > > return aligned_addr; > > > > > > > > > > For the contents of this patch, > > > > MADV_DONTDUMP does not seem POSIX, but as I said [1], there seems to > > be a MADV_NOCORE option on FreeBSD. > > 1: http://inbox.dpdk.org/dev/CAJFAV8y9YtT-7njUz+mD6U8+3XUqYrgp28KD7jy2923EpAcXrg@mail.gmail.com/ > > > > > > Oh, right, so this would probably not compile on FreeBSD. Perhaps this > function would have to be OS-specific after all (or call into an OS-specific > madvise() after reserving the memory area). > Is it just a differently named flag? If so, I think a single #ifdef macro won't kill us in the common code.