hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/tools/testing/selftests/vm/compaction_test.c
....@@ -18,7 +18,8 @@
1818
1919 #include "../kselftest.h"
2020
21
-#define MAP_SIZE 1048576
21
+#define MAP_SIZE_MB 100
22
+#define MAP_SIZE (MAP_SIZE_MB * 1024 * 1024)
2223
2324 struct map_list {
2425 void *map;
....@@ -165,7 +166,7 @@
165166 void *map = NULL;
166167 unsigned long mem_free = 0;
167168 unsigned long hugepage_size = 0;
168
- unsigned long mem_fragmentable = 0;
169
+ long mem_fragmentable_MB = 0;
169170
170171 if (prereq() != 0) {
171172 printf("Either the sysctl compact_unevictable_allowed is not\n"
....@@ -190,9 +191,9 @@
190191 return -1;
191192 }
192193
193
- mem_fragmentable = mem_free * 0.8 / 1024;
194
+ mem_fragmentable_MB = mem_free * 0.8 / 1024;
194195
195
- while (mem_fragmentable > 0) {
196
+ while (mem_fragmentable_MB > 0) {
196197 map = mmap(NULL, MAP_SIZE, PROT_READ | PROT_WRITE,
197198 MAP_ANONYMOUS | MAP_PRIVATE | MAP_LOCKED, -1, 0);
198199 if (map == MAP_FAILED)
....@@ -213,7 +214,7 @@
213214 for (i = 0; i < MAP_SIZE; i += page_size)
214215 *(unsigned long *)(map + i) = (unsigned long)map + i;
215216
216
- mem_fragmentable--;
217
+ mem_fragmentable_MB -= MAP_SIZE_MB;
217218 }
218219
219220 for (entry = list; entry != NULL; entry = entry->next) {