• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)13 int 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