[dpdk-dev] [PATCH] test: make hugepage check more robust under Linux

Bruce Richardson bruce.richardson at intel.com
Tue Apr 6 14:58:35 CEST 2021


On Tue, Apr 06, 2021 at 08:33:07AM -0400, Aaron Conole wrote:
> Thomas Monjalon <thomas at monjalon.net> writes:
> 
> > 17/03/2021 15:44, Aaron Conole:
> >> The hugepage test really needs to check multiple things on Linux:
> >> 
> >> 1. Are hugepages reserved in the system?
> >> 
> >> 2. Is the hugepage mountpoint available so that we can allocate them?
> >> 
> >> 3. Do we have permissions to write into the hugepage mountpoint?
> >> 
> >> The existing hugepage check only verifies the first.  On some setups,
> >> a non-root user won't have access to the mountpoint for hugepages to
> >> be allocated and that needs to be reflected in the test as well.  Add
> >> such checks for Linux OS to give a more check when running test suites.
> >
> > Requirements 2 & 3 are optional.
> > You don't need a mount point if using the option --in-memory.
> 
> That's true, but it seems to break a few of the unit tests without.
> I'll clarify the commit message.
> 
> Additionally, I thought it would be simple to just incorporate your
> suggestions - but it seems that meson / ninja doesn't have cascading
> dependencies the way 'make' does (or, I haven't figured out from the
> syntax how to do that) - a 'run_command' gets resolved at configure
> time and it doesn't seem that we can make a run_target depend on another
> run_target since dependencies are on file outputs.  Maybe we do some
> kind of trickery here where we write a file that the build script reads?
> 
> I am trying to figure out how best to accomplish this - suggestions
> welcome.
> 
Sorry that I'm late to this thread. Can you perhaps explain what you mean
by cascading dependencies in this instance, or what you are trying to do
exactly that is not supported?

In terms of output files that build script reads, yes that is possible -
the file just needs to be in the standard .d format that gcc produces and
then ninja can use that to track file dependencies. The script
"call-sphinx-build.py" does this, for example, and doc/guides/meson.build
tells meson/ninja to look for dependencies in file ".html.d" generated by
that script.

/Bruce


More information about the dev mailing list