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

From: John Hubbard
Date: Thu Jun 01 2023 - 21:35:35 EST


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.

Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
---
tools/testing/selftests/mm/vm_util.c | 14 ++++++++++++++
tools/testing/selftests/mm/vm_util.h | 16 ++--------------
2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c
index 9b06a5034808..01296c17df02 100644
--- a/tools/testing/selftests/mm/vm_util.c
+++ b/tools/testing/selftests/mm/vm_util.c
@@ -301,3 +301,17 @@ int uffd_get_features(uint64_t *features)

return 0;
}
+
+unsigned int psize(void)
+{
+ if (!__page_size)
+ __page_size = sysconf(_SC_PAGESIZE);
+ return __page_size;
+}
+
+unsigned int pshift(void)
+{
+ if (!__page_shift)
+ __page_shift = (ffsl(psize()) - 1);
+ return __page_shift;
+}
diff --git a/tools/testing/selftests/mm/vm_util.h b/tools/testing/selftests/mm/vm_util.h
index b950bd16083a..232ffeb5805c 100644
--- a/tools/testing/selftests/mm/vm_util.h
+++ b/tools/testing/selftests/mm/vm_util.h
@@ -3,7 +3,6 @@
#include <stdbool.h>
#include <sys/mman.h>
#include <err.h>
-#include <string.h> /* ffsl() */
#include <unistd.h> /* _SC_PAGESIZE */

#define BIT_ULL(nr) (1ULL << (nr))
@@ -17,19 +16,8 @@
extern unsigned int __page_size;
extern unsigned int __page_shift;

-static inline unsigned int psize(void)
-{
- if (!__page_size)
- __page_size = sysconf(_SC_PAGESIZE);
- return __page_size;
-}
-
-static inline unsigned int pshift(void)
-{
- if (!__page_shift)
- __page_shift = (ffsl(psize()) - 1);
- return __page_shift;
-}
+unsigned int psize(void);
+unsigned int pshift(void);

uint64_t pagemap_get_entry(int fd, char *start);
bool pagemap_is_softdirty(int fd, char *start);
--
2.40.1