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