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 11int PS; 12 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