From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <anatoly.burakov@intel.com>
Received: from mga18.intel.com (mga18.intel.com [134.134.136.126])
 by dpdk.org (Postfix) with ESMTP id 2375F1B3A3
 for <dev@dpdk.org>; Thu, 27 Sep 2018 13:29:51 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 27 Sep 2018 04:29:51 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.54,310,1534834800"; d="scan'208";a="95315762"
Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.55])
 ([10.237.220.55])
 by orsmga002.jf.intel.com with ESMTP; 27 Sep 2018 04:29:44 -0700
To: Shreyansh Jain <shreyansh.jain@nxp.com>, dev@dpdk.org
Cc: Neil Horman <nhorman@tuxdriver.com>,
 John McNamara <john.mcnamara@intel.com>,
 Marko Kovacevic <marko.kovacevic@intel.com>,
 Hemant Agrawal <hemant.agrawal@nxp.com>, Matan Azrad <matan@mellanox.com>,
 Shahaf Shuler <shahafs@mellanox.com>, Yongseok Koh <yskoh@mellanox.com>,
 Maxime Coquelin <maxime.coquelin@redhat.com>, Tiwei Bie
 <tiwei.bie@intel.com>, Zhihong Wang <zhihong.wang@intel.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 Olivier Matz <olivier.matz@6wind.com>,
 Andrew Rybchenko <arybchenko@solarflare.com>, laszlo.madarassy@ericsson.com,
 laszlo.vadkerti@ericsson.com, andras.kovacs@ericsson.com,
 winnie.tian@ericsson.com, daniel.andrasi@ericsson.com,
 janos.kobor@ericsson.com, geza.koblo@ericsson.com,
 srinath.mannam@broadcom.com, scott.branden@broadcom.com,
 ajit.khaparde@broadcom.com, keith.wiles@intel.com, thomas@monjalon.net,
 alejandro.lucero@netronome.com
References: <cover.1538044725.git.anatoly.burakov@intel.com>
 <ed151fe0f8e3644030208942c289c76ed95e4494.1538044725.git.anatoly.burakov@intel.com>
 <f1cd335b-d95b-7fa7-edd8-7fbab241ce3d@nxp.com>
 <a421af3f-8bea-6e2d-0e98-cf83d9b4defb@intel.com>
 <996b0784-8516-8d89-e5e4-4c3f7bdda50a@nxp.com>
From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
Message-ID: <fb5b3558-31a5-ab2c-1623-77221008071f@intel.com>
Date: Thu, 27 Sep 2018 12:29:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <996b0784-8516-8d89-e5e4-4c3f7bdda50a@nxp.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Subject: Re: [dpdk-dev] [PATCH v6 02/21] mem: allow memseg lists to be
 marked as external
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Sep 2018 11:29:52 -0000

On 27-Sep-18 12:12 PM, Shreyansh Jain wrote:
> On Thursday 27 September 2018 04:38 PM, Burakov, Anatoly wrote:
>> On 27-Sep-18 12:03 PM, Shreyansh Jain wrote:
>>> On Thursday 27 September 2018 04:10 PM, Anatoly Burakov wrote:
>>>> When we allocate and use DPDK memory, we need to be able to
>>>> differentiate between DPDK hugepage segments and segments that
>>>> were made part of DPDK but are externally allocated. Add such
>>>> a property to memseg lists.
>>>>
>>>> This breaks the ABI, so bump the EAL library ABI version and
>>>> document the change in release notes. This also breaks a few
>>>> internal assumptions about memory contiguousness, so adjust
>>>> malloc code in a few places.
>>>>
>>>> All current calls for memseg walk functions were adjusted to
>>>> ignore external segments where it made sense.
>>>>
>>>> Mempools is a special case, because we may be asked to allocate
>>>> a mempool on a specific socket, and we need to ignore all page
>>>> sizes on other heaps or other sockets. Previously, this
>>>> assumption of knowing all page sizes was not a problem, but it
>>>> will be now, so we have to match socket ID with page size when
>>>> calculating minimum page size for a mempool.
>>>>
>>>> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
>>>> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
>>>> ---
>>>>
>>>
>>> Specifically for bus/fslmc perspective and generically for others:
>>>
>>> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
>>>
>>>
>>
>> Actually, this patch may need some further adjustment, since it makes 
>> assumption about not wanting to map external memory for DMA.
>>
>> Specifically - there's an fslmc dma map function that now skips 
>> external memory segments. Are you sure that's how it's supposed to be?
>>
> 
> I thought over that.
> For now yes. If we need to map external memory, and there is an event 
> that would be called back, it should be handled separately. So, for 
> example, a PMD level API to handle such requests from applications.

Well, technically such an event is already available, now that external 
memory allocations trigger mem events :)

> 
> The point is that how the external memory is handled is use-case 
> specific - the need to have its events reported back is definitely 
> there, but its handling is still a grey area.
> 
> Once the patches make their way in, I can always come back and tune that.
> 

OK, fair enough.

-- 
Thanks,
Anatoly