From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hemant Agrawal Subject: Re: [PATCH v8 2/2] config: enable vhost numa awareness by default Date: Tue, 27 Jun 2017 18:30:40 +0530 Message-ID: <5692af58-4d79-bd2c-6269-a94b107fb5ae@nxp.com> References: <1498039711-26570-1-git-send-email-i.maximets@samsung.com> <1498553186-24541-3-git-send-email-i.maximets@samsung.com> <4898a4e7-491a-783e-46e0-ba991099476a@nxp.com> <2224754.8CF9r2HNLB@xps> <5bae3303-1457-5391-2334-9108b7d42055@nxp.com> <20170627095945.GA19780@jerin> <793c8e58-bab0-a417-9e84-8630b2400f41@nxp.com> <20170627124556.GA12253@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Cc: Thomas Monjalon , Ilya Maximets , , David Marchand , Sergio Gonzalez Monroy , Heetae Ahn , Yuanhan Liu , Jianfeng Tan , Neil Horman , Yulong Pei , Bruce Richardson To: Jerin Jacob Return-path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0049.outbound.protection.outlook.com [104.47.34.49]) by dpdk.org (Postfix) with ESMTP id 84B702C72 for ; Tue, 27 Jun 2017 15:00:53 +0200 (CEST) In-Reply-To: <20170627124556.GA12253@jerin> 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 6/27/2017 6:15 PM, Jerin Jacob wrote: > -----Original Message----- >> Date: Tue, 27 Jun 2017 17:47:44 +0530 >> From: Hemant Agrawal >> To: Jerin Jacob >> CC: Thomas Monjalon , Ilya Maximets >> , dev@dpdk.org, David Marchand >> , Sergio Gonzalez Monroy >> , Heetae Ahn , >> Yuanhan Liu , Jianfeng Tan , >> Neil Horman , Yulong Pei , >> Bruce Richardson >> Subject: Re: [PATCH v8 2/2] config: enable vhost numa awareness by default >> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 >> Thunderbird/45.8.0 >> >> On 6/27/2017 3:29 PM, Jerin Jacob wrote: >>> -----Original Message----- >>>> Date: Tue, 27 Jun 2017 15:11:07 +0530 >>>> From: Hemant Agrawal >>>> To: Thomas Monjalon >>>> CC: Ilya Maximets , dev@dpdk.org, David Marchand >>>> , Sergio Gonzalez Monroy >>>> , Heetae Ahn , >>>> Yuanhan Liu , Jianfeng Tan , >>>> Neil Horman , Yulong Pei , >>>> Bruce Richardson , Jerin Jacob >>>> >>>> Subject: Re: [PATCH v8 2/2] config: enable vhost numa awareness by default >>>> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 >>>> Thunderbird/45.8.0 >>>> >>>> On 6/27/2017 2:51 PM, Thomas Monjalon wrote: >>>>> 27/06/2017 11:18, Hemant Agrawal: >>>>>> On 6/27/2017 2:16 PM, Ilya Maximets wrote: >>>>>>> It is safe to enable LIBRTE_VHOST_NUMA by default for all >>>>>>> configurations where libnuma is already a default dependency. >>>>>>> >>>>>>> Signed-off-by: Ilya Maximets >>>>>>> --- >>>>>>> config/common_linuxapp | 1 + >>>>>>> config/defconfig_arm-armv7a-linuxapp-gcc | 1 + >>>>>>> config/defconfig_arm64-dpaa2-linuxapp-gcc | 1 + >>>>>>> 3 files changed, 3 insertions(+) >>>>> [...] >>>>>>> --- a/config/defconfig_arm64-dpaa2-linuxapp-gcc >>>>>>> +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc >>>>>>> @@ -47,6 +47,7 @@ CONFIG_RTE_PKTMBUF_HEADROOM=256 >>>>>>> >>>>>>> # Doesn't support NUMA >>>>>>> CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=y >>>>>>> +CONFIG_RTE_LIBRTE_VHOST_NUMA=n >>>>>>> >>>>>>> # >>>>>>> # Compile Support Libraries for DPAA2 >>>>>>> >>>>>> >>>>>> -1 >>>>>> It should also be disabled for generic ARM64. This patch is breaking >>>>>> generic arm64 config tests on our platforms and creating a unnecessary >>>>>> dependency. >>>>> >>>>> What do you mean? Which ARM64 platform is it breaking? >>>>> We can specifically disable it on more platforms. >>>>> >>>> Unlike x86, ARM only represent a core architecture. >>>> Different platforms can integrate these cores differently in their SoCs. >>>> The stock ARM v8 cores do not provide support for NUMA in my knowledge. >>> >>> A72 is just _an_ implementation of armv8. Not ARMv8 specification >>> itself. By specification it is NUMA capable and there are NUMA >>> implementation too. >>> >>>> Some vendors have modified ARM cores (e.g. Cavium) to support NUMA >>>> architecture. However that is not a common phenomena. >>>> NUMA config should not be default for generic ARM config. It should be >>>> enabled only for architecture supporting it. >>> >>> It just an build time dependency. Right? If you feed the libnuma package, >>> it will NON NUMA as well. Right? ARM64 libnuma package is already >>> available for major distributions. >> >> yes, libnuma will work for non-NUMA. >>> >>> My point is, I don't want to make arm64 generic config an exceptional case, >>> If DPDK common config creates libnuma dependency then there is no reason >>> for arm64 not have it. It is same for x86 and powerpc, non numa systems >>> too. Right? >> >> x86 and powerpc configs are single vendor based. >> Common should be common and generic. > > Yes. What I understand by common is that it should work on functionality on _all_ the > armv8 targets. If you don't include NUMA then it will have functionality issue > with NUMA targets. > > The ARM64 Linux kernel took the similar approach. The default config has all > options and NUMA is _enabled_ even it is not supported on A72. > > http://elixir.free-electrons.com/linux/latest/source/arch/arm64/configs/defconfig#L77 > Ok! Not able to think of any other issue for now. > >> >> Why to create a unnecessary dependency, when we know that the support is not >> uniform? It adds difficulties e.g. For the ARM cross compilation, will also >> have to cross compile libnuma-dev. Makefile will need a path for specifying >> the lib and include paths for libnuma and numa.h. > > Yes. I agree. Cross compilation needs additional step. On the other > hand, If we don't include NUMA in common config, We need to add new targets on > all new SoCs(like thunderx2). IMO, In order to reduce the config, I think, > this is the better way.(and it is not hard to disable NUMA for cross > compilation mode if not interested) > >> >> >>> >>>> >>>> So, *arm64-armv8a-linuxapp-gcc* config is being used by several vendors >>>> include NXP. e.g. We use this config on several of our low end systems >>>> (non-dpaa). Also, we use it when running in VM with virtio interfaces on all >>>> of our different platforms (non-dpaa, dpaa1, dpaa2 etc). >>> >>> On the same note, arm64-armv8a-linuxapp-gcc used by other vendors for Server machines >>> with NUMA and if want to keep creating new targets there is no end to it. >>> >>> How hard is to install libnuma on VM? There is already package for it. >>> >>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >> >> >