DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	Ilya Maximets <i.maximets@samsung.com>,
	Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>,
	dev@dpdk.org, Bruce Richardson <bruce.richardson@intel.com>,
	David Marchand <david.marchand@6wind.com>,
	Heetae Ahn <heetae82.ahn@samsung.com>,
	Yuanhan Liu <yliu@fridaylinux.org>,
	Jianfeng Tan <jianfeng.tan@intel.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	Yulong Pei <yulong.pei@intel.com>
Subject: Re: [PATCH v5 0/2] Balanced allocation of hugepages
Date: Tue, 27 Jun 2017 11:26:28 +0200	[thread overview]
Message-ID: <1754978.DhjFZ6qBWF@xps> (raw)
In-Reply-To: <7586fff1-32c7-7468-2cd1-f1406b27974d@nxp.com>

27/06/2017 11:13, Hemant Agrawal:
> On 6/21/2017 4:52 PM, Jerin Jacob wrote:
> > From: Ilya Maximets <i.maximets@samsung.com>
> >>> From: Thomas Monjalon <thomas@monjalon.net>
> >>>>>> 21/06/2017 10:41, Jerin Jacob:
> >>>>>>>>> 1. There are many machines (arm/ppc), which do not support NUMA.
> >>>>>>>>>
> >>>>>>>>> https://wiki.linaro.org/LEG/Engineering/Kernel/NUMA
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> I did find that link too, last modified 4 years ago.
> >>>>>>>> Despite that, I could not find any ARM references in libnuma sources, but
> >>>>>>>> Jerin proved that there is support for it.
> >>>>>>>>
> >>>>>>>> http://oss.sgi.com/projects/libnuma/
> >>>>>>>> https://github.com/numactl/numactl
> >>>>>>>
> >>>>>>> Those Linaro links are very old. ARM64 NUMA supported has been added in 4.7 kernel.
> >>>>>>> I guess we are talking about build time time dependency with libnuma here.
> >>>>>>> Correct? I think, Even with old arm64 kernel(< 4.6), You can build against
> >>>>>>> libnuma if it is present in rootfs. Just that at runtime, it will return
> >>>>>>> NUMA support not available. Correct?
> >>>>>>>
> >>>>>>> How hard is detect the presence of "numaif.h" if existing build system does not
> >>>>>>> support it? If it trivial, we can enable RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES
> >>>>>>> if build environment has "numaif.h".
> >>>>>>>
> >>>>>>> Some example in linux kernel build system:
> >>>>>>> http://lxr.linux.no/linux+v4.10.1/scripts/gcc-goto.sh
> >>>>>>
> >>>>>> I think we should not try to detect numaif.h, because it should be
> >>>>>> an error on platform supporting NUMA.
> >>>>>
> >>>>> I have installed libnuma on a NUMA and non NUMA machine.
> >>>>> Compiled and ran following code on those machine and it could detect
> >>>>> the numa availability. Could you add more details on the "error on
> >>>>> platform supporting NUMA".
> >>>>
> >>>> I was saying that we do not need to detect NUMA.
> >>>> If we are building DPDK for a NUMA architecture and libnuma is not
> >>>> available, then it will be a problem that the user must catch.
> >>>> The easiest way to catch it, is to fail on the include of numaif.h.
> >>>
> >>> libnuma is not really _architecture_ depended.
> >>>
> >>> Ilya Maximets patch disables NUMA support in common arm64 config.I
> >>> think, It is not correct, We should not disable on any archs generic config.
> >>>
> >>> IMO, It should be enabled by default in common config and then we can
> >>> detect the presence of numaif.h, if not available OR a target does not need it
> >>> explicitly, proceed with disabling
> >>> RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES. I think, That is more portable.
> >>
> >> Detecting of headers is impossible until dpdk doesn't have dynamic build
> >> configuration system like autotools, CMake or meson.
> >> Right now we just can't do that.
> >
> > I agree. Unless if we do something like linux kernel does it below
> > http://elixir.free-electrons.com/linux/latest/source/scripts/kconfig/lxdialog/check-lxdialog.sh
> >
> > Either way, I think, you can enable RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES in
> > generic arm64 config and disable on defconfig_arm64-dpaa2-linuxapp-gcc(as Hemant requested) or
> > any sub arch target that does not need in RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES.
> 
> No, this is not acceptable. it should not be enabled in generic arm64. 
> It can be enabled in specific ARM platforms, which support NUMA 
> architecture.
> We also use generic ARM code on various of our platform when running 
> with non-dpaa and/or virtio-net. So enabling it will break all those 
> platforms.

Which platforms?
It is your non-upstreamed code. You have to deal with it.
You should disable NUMA in the config of these platforms.

  reply	other threads:[~2017-06-27  9:26 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170216130139eucas1p2512567d6f5db9eaac5ee840b56bf920a@eucas1p2.samsung.com>
2017-02-16 13:01 ` [PATCH] mem: balanced allocation of hugepages Ilya Maximets
2017-02-16 13:26   ` Tan, Jianfeng
2017-02-16 13:55     ` Ilya Maximets
2017-02-16 13:57       ` Ilya Maximets
2017-02-16 13:31   ` Bruce Richardson
2017-03-06  9:34   ` Ilya Maximets
2017-03-08 13:46     ` Sergio Gonzalez Monroy
2017-03-09 12:57       ` Ilya Maximets
2017-03-27 13:01         ` Sergio Gonzalez Monroy
2017-03-27 14:43           ` Ilya Maximets
2017-04-07 15:14             ` Ilya Maximets
2017-04-07 15:44               ` Thomas Monjalon
2017-04-10  7:11                 ` Ilya Maximets
2017-04-10  7:51                   ` Sergio Gonzalez Monroy
2017-04-10  8:05                     ` Ilya Maximets
2017-04-10  8:04   ` [PATCH v2] " Ilya Maximets
2017-04-10 10:03     ` Thomas Monjalon
2017-06-06  6:22     ` [PATCH v3 0/2] Balanced " Ilya Maximets
2017-06-06  6:22       ` [PATCH v3 1/2] mem: balanced " Ilya Maximets
2017-06-06  6:22       ` [PATCH v3 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-06  8:13       ` [PATCH v4 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-06  8:13         ` [PATCH v4 1/2] mem: balanced " Ilya Maximets
2017-06-06  8:13         ` [PATCH v4 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-06 13:33         ` [PATCH v5 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-06 13:33           ` [PATCH v5 1/2] mem: balanced " Ilya Maximets
2017-06-06 13:33           ` [PATCH v5 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-08 11:21           ` [PATCH v5 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-08 12:14             ` Bruce Richardson
2017-06-08 15:44               ` Sergio Gonzalez Monroy
2017-06-14  6:11                 ` Ilya Maximets
2017-06-19 11:10                   ` Hemant Agrawal
2017-06-20 13:07                     ` Thomas Monjalon
2017-06-20 13:58                       ` Ilya Maximets
2017-06-20 14:35                         ` Thomas Monjalon
2017-06-20 14:58                           ` Sergio Gonzalez Monroy
2017-06-20 15:41                             ` Jerin Jacob
2017-06-20 15:51                               ` Sergio Gonzalez Monroy
2017-06-21  8:14                               ` Hemant Agrawal
2017-06-21  8:25                                 ` Sergio Gonzalez Monroy
2017-06-21  8:36                                   ` Ilya Maximets
2017-06-21  8:41                                   ` Jerin Jacob
2017-06-21  8:49                                     ` Thomas Monjalon
2017-06-21  9:27                                       ` Jerin Jacob
2017-06-21  9:58                                         ` Thomas Monjalon
2017-06-21 10:29                                           ` Jerin Jacob
2017-06-21 10:36                                             ` Ilya Maximets
2017-06-21 11:22                                               ` Jerin Jacob
2017-06-21 11:29                                                 ` Thomas Monjalon
2017-06-27  9:13                                                 ` Hemant Agrawal
2017-06-27  9:26                                                   ` Thomas Monjalon [this message]
2017-06-27  9:48                                                     ` Hemant Agrawal
2017-06-21  8:04           ` [PATCH v6 " Ilya Maximets
2017-06-21  8:04             ` [PATCH v6 1/2] mem: balanced " Ilya Maximets
2017-06-21  8:51               ` Thomas Monjalon
2017-06-21  8:58                 ` Bruce Richardson
2017-06-21  9:25                   ` Ilya Maximets
2017-06-21  9:34                     ` Bruce Richardson
2017-06-21  9:28                   ` Thomas Monjalon
2017-06-21  8:04             ` [PATCH v6 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-21 10:08             ` [PATCH v7 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-21 10:08               ` [PATCH v7 1/2] mem: balanced " Ilya Maximets
2017-06-21 10:08               ` [PATCH v7 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-27  9:20                 ` Hemant Agrawal
2017-06-26 10:44               ` [PATCH v7 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-26 14:07                 ` Jerin Jacob
2017-06-26 15:33                 ` Sergio Gonzalez Monroy
2017-06-27  8:42                   ` Ilya Maximets
2017-06-27  8:46               ` [PATCH v8 " Ilya Maximets
2017-06-27  8:46                 ` [PATCH v8 1/2] mem: balanced " Ilya Maximets
2017-06-27  8:46                 ` [PATCH v8 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-27  9:18                   ` Hemant Agrawal
2017-06-27  9:21                     ` Thomas Monjalon
2017-06-27  9:41                       ` Hemant Agrawal
2017-06-27  9:59                         ` Thomas Monjalon
2017-06-27  9:59                         ` Jerin Jacob
2017-06-27 12:17                           ` Hemant Agrawal
2017-06-27 12:45                             ` Jerin Jacob
2017-06-27 13:00                               ` Hemant Agrawal
2017-06-27  9:19                   ` Thomas Monjalon
2017-06-27 10:26                     ` Ilya Maximets
2017-06-27 10:24                 ` [PATCH v9 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-27 10:24                   ` [PATCH v9 1/2] mem: balanced " Ilya Maximets
2017-06-28 10:30                     ` Sergio Gonzalez Monroy
2017-06-29  5:32                     ` Hemant Agrawal
2017-06-29  5:48                       ` Ilya Maximets
2017-06-29  6:08                         ` Ilya Maximets
2017-06-27 10:24                   ` [PATCH v9 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-29  5:31                     ` Hemant Agrawal
2017-06-29  5:59                   ` [PATCH v10 0/2] Balanced allocation of hugepages Ilya Maximets
2017-06-29  5:59                     ` [PATCH v10 1/2] mem: balanced " Ilya Maximets
2017-06-29  7:03                       ` Hemant Agrawal
2017-06-29  5:59                     ` [PATCH v10 2/2] config: enable vhost numa awareness by default Ilya Maximets
2017-06-30 15:50                       ` Thomas Monjalon
2017-06-29  6:29                     ` [PATCH v10 0/2] Balanced allocation of hugepages Jerin Jacob
2017-06-30  8:36                       ` Ilya Maximets
2017-06-30 16:12                     ` [PATCH v11 " Thomas Monjalon
2017-06-30 16:12                       ` [PATCH v11 1/2] mem: balanced " Thomas Monjalon
2017-06-30 16:12                       ` [PATCH v11 2/2] config: enable vhost NUMA awareness by default Thomas Monjalon
2017-07-01 10:59                       ` [PATCH v11 0/2] Balanced allocation of hugepages Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1754978.DhjFZ6qBWF@xps \
    --to=thomas@monjalon.net \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@6wind.com \
    --cc=dev@dpdk.org \
    --cc=heetae82.ahn@samsung.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=i.maximets@samsung.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=jianfeng.tan@intel.com \
    --cc=nhorman@tuxdriver.com \
    --cc=sergio.gonzalez.monroy@intel.com \
    --cc=yliu@fridaylinux.org \
    --cc=yulong.pei@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox