1 /* Simplest soft offline testcase */ 2 #include <stdlib.h> 3 #include <sys/mman.h> 4 #include <stdio.h> 5 #include <unistd.h> 6 7 #define err(x) perror(x), exit(1) 8 9 #define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */ 10 11 int PS; 12 main(void)13int main(void) 14 { 15 PS = getpagesize(); 16 char *map = mmap(NULL, PS, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, 0, 0); 17 18 if (map == (char *)-1L) 19 err("mmap"); 20 21 *map = 1; 22 23 if (madvise(map, PS, MADV_SOFT_OFFLINE) < 0) 24 perror("madvise SOFT_OFFLINE"); 25 26 *map = 2; 27 28 return 0; 29 } 30