Re: [PATCH 09/12] selftests/mm: move psize(), pshift() into vm_utils.c

From: John Hubbard
Date: Fri Jun 02 2023 - 17:59:06 EST


On 6/2/23 03:19, David Hildenbrand wrote:
On 02.06.23 03:33, John Hubbard wrote:
This is in preparation for linking test programs with both vm_utils.c
and uffd-common.c. The static inline routines would prevent that, and
there is no particular need for inlining here, so turn these into normal
functions that are more flexible to build and link.

I'm probably missing something important, but isn't it the most common thing to use "static inline" across multiple objects that we then link?

Yes, absolutely. I've just had my confidence in things shaken by some
of the quirks in the selftests framework, but you're right.


Hope you can enlighten me what the real issue here is.


At this point it looks like a header file inclusion mess. As usual,
including header files from other header files leads to problems,
and in this case I'm now seeing vm_utils.h included from uffd-common.h,
causing multiple definitions of these static inline functions.

If I try to undo that it generates a boatload of new errors, so I'm
thinking to just change the commit message to explain that I'm moving
this to a normal function in order to avoid the above situation.

thanks,
--
John Hubbard
NVIDIA