ARM is supporting maximum 4 hugepage sizes (64K, 2M, 32M and 1G) when granule is 4KB since very long and DPDK support maximum 3 hugepage sizes. With all 4 hugepage sizes enabled, applications and some stacks like VPP which are working over DPDK and using "in-memory" eal option, or using separate mount points on ARM based platform, fails at huge page initialization, reporting error messages from eal: EAL: FATAL: Cannot get hugepage information. EAL: Cannot get hugepage information. EAL: Error - exiting with code: 1 This issue is visible on kernel 5.2 (stable rel), where kernel is by default creating directories for each supported hugepage size in /sys/kernel/mm/hugepages/ On earlier Stable Kernel LTR's, the directories visible in /sys/kernel/mm/hugepages/ were dependent upon what hugepage sizes are configured at boot time. This change increases the maximum supported mount points to 4 for ARM based platforms. Cc: stable@dpdk.org Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> --- Changes in V2: - restricted this change specific to ARM - commit message updated - stable added to cc lib/librte_eal/common/eal_internal_cfg.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/librte_eal/common/eal_internal_cfg.h b/lib/librte_eal/common/eal_internal_cfg.h index edff09d07..a42f34923 100644 --- a/lib/librte_eal/common/eal_internal_cfg.h +++ b/lib/librte_eal/common/eal_internal_cfg.h @@ -15,7 +15,11 @@ #include "eal_thread.h" +#if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) +#define MAX_HUGEPAGE_SIZES 4 /**< support up to 4 page sizes */ +#else #define MAX_HUGEPAGE_SIZES 3 /**< support up to 3 page sizes */ +#endif /* * internal configuration structure for the number, size and -- 2.17.1
On Thu, Aug 8, 2019 at 2:27 PM Gagandeep Singh <g.singh@nxp.com> wrote: > > ARM is supporting maximum 4 hugepage sizes (64K, 2M, 32M > and 1G) when granule is 4KB since very long and DPDK > support maximum 3 hugepage sizes. > > With all 4 hugepage sizes enabled, applications and some > stacks like VPP which are working over DPDK and using > "in-memory" eal option, or using separate mount points > on ARM based platform, fails at huge page initialization, > reporting error messages from eal: > > EAL: FATAL: Cannot get hugepage information. > EAL: Cannot get hugepage information. > EAL: Error - exiting with code: 1 > > This issue is visible on kernel 5.2 (stable rel), where > kernel is by default creating directories for each supported > hugepage size in /sys/kernel/mm/hugepages/ Yes, any supported hugepage size is announced in sysfs. > On earlier Stable Kernel LTR's, the directories visible in > /sys/kernel/mm/hugepages/ were dependent upon what hugepage > sizes are configured at boot time. The change is in kernel 5.0 with: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a21b0b78 where all supported sizes are now registered. > > This change increases the maximum supported mount points > to 4 for ARM based platforms. > > Cc: stable@dpdk.org > > Signed-off-by: Gagandeep Singh <g.singh@nxp.com> > Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> > --- > > Changes in V2: > - restricted this change specific to ARM > - commit message updated > - stable added to cc Please keep me Cc:. -- David Marchand
08/08/2019 14:37, David Marchand:
> On Thu, Aug 8, 2019 at 2:27 PM Gagandeep Singh <g.singh@nxp.com> wrote:
> >
> > ARM is supporting maximum 4 hugepage sizes (64K, 2M, 32M
> > and 1G) when granule is 4KB since very long and DPDK
> > support maximum 3 hugepage sizes.
> >
> > With all 4 hugepage sizes enabled, applications and some
> > stacks like VPP which are working over DPDK and using
> > "in-memory" eal option, or using separate mount points
> > on ARM based platform, fails at huge page initialization,
> > reporting error messages from eal:
> >
> > EAL: FATAL: Cannot get hugepage information.
> > EAL: Cannot get hugepage information.
> > EAL: Error - exiting with code: 1
> >
> > This issue is visible on kernel 5.2 (stable rel), where
> > kernel is by default creating directories for each supported
> > hugepage size in /sys/kernel/mm/hugepages/
>
> Yes, any supported hugepage size is announced in sysfs.
>
> > On earlier Stable Kernel LTR's, the directories visible in
> > /sys/kernel/mm/hugepages/ were dependent upon what hugepage
> > sizes are configured at boot time.
>
> The change is in kernel 5.0 with:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a21b0b78
>
> where all supported sizes are now registered.
>
> >
> > This change increases the maximum supported mount points
> > to 4 for ARM based platforms.
> >
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
> > Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Applied with small updates in commit log (especially commit origin in 5.0), thanks.