Print this page
OS-881 To workaround OS-580 add support to only invalidate mappings from a single process


 322 #define MADV_PURGE              9       /* contents will be purged */
 323 
 324 #endif  /* (_POSIX_C_SOURCE <= 2) && !defined(_XPG4_2) ...  */
 325 
 326 #if !defined(__XOPEN_OR_POSIX) || defined(_XPG6) || defined(__EXTENSIONS__)
 327 /* advice to posix_madvise */
 328 /* these values must be kept in sync with the MADV_* values, above */
 329 #define POSIX_MADV_NORMAL       0       /* MADV_NORMAL */
 330 #define POSIX_MADV_RANDOM       1       /* MADV_RANDOM */
 331 #define POSIX_MADV_SEQUENTIAL   2       /* MADV_SEQUENTIAL */
 332 #define POSIX_MADV_WILLNEED     3       /* MADV_WILLNEED */
 333 #define POSIX_MADV_DONTNEED     4       /* MADV_DONTNEED */
 334 #endif
 335 
 336 /* flags to msync */
 337 #define MS_OLDSYNC      0x0             /* old value of MS_SYNC */
 338                                         /* modified for UNIX98 compliance */
 339 #define MS_SYNC         0x4             /* wait for msync */
 340 #define MS_ASYNC        0x1             /* return immediately */
 341 #define MS_INVALIDATE   0x2             /* invalidate caches */

 342 
 343 #if     (_POSIX_C_SOURCE <= 2) && !defined(_XPG4_2) || defined(__EXTENSIONS__)
 344 /* functions to mctl */
 345 #define MC_SYNC         1               /* sync with backing store */
 346 #define MC_LOCK         2               /* lock pages in memory */
 347 #define MC_UNLOCK       3               /* unlock pages from memory */
 348 #define MC_ADVISE       4               /* give advice to management */
 349 #define MC_LOCKAS       5               /* lock address space in memory */
 350 #define MC_UNLOCKAS     6               /* unlock address space from memory */
 351 #define MC_HAT_ADVISE   7               /* advise hat map size */
 352 #define MC_INHERIT_ZERO 8               /* zero out regions on fork() */
 353 
 354 /* sub-commands for MC_HAT_ADVISE */
 355 #define MHA_MAPSIZE_VA          0x1     /* set preferred page size */
 356 #define MHA_MAPSIZE_BSSBRK      0x2     /* set preferred page size */
 357                                         /* for last bss adjacent to */
 358                                         /* brk area and brk area itself */
 359 #define MHA_MAPSIZE_STACK       0x4     /* set preferred page size */
 360                                         /* processes main stack */
 361 




 322 #define MADV_PURGE              9       /* contents will be purged */
 323 
 324 #endif  /* (_POSIX_C_SOURCE <= 2) && !defined(_XPG4_2) ...  */
 325 
 326 #if !defined(__XOPEN_OR_POSIX) || defined(_XPG6) || defined(__EXTENSIONS__)
 327 /* advice to posix_madvise */
 328 /* these values must be kept in sync with the MADV_* values, above */
 329 #define POSIX_MADV_NORMAL       0       /* MADV_NORMAL */
 330 #define POSIX_MADV_RANDOM       1       /* MADV_RANDOM */
 331 #define POSIX_MADV_SEQUENTIAL   2       /* MADV_SEQUENTIAL */
 332 #define POSIX_MADV_WILLNEED     3       /* MADV_WILLNEED */
 333 #define POSIX_MADV_DONTNEED     4       /* MADV_DONTNEED */
 334 #endif
 335 
 336 /* flags to msync */
 337 #define MS_OLDSYNC      0x0             /* old value of MS_SYNC */
 338                                         /* modified for UNIX98 compliance */
 339 #define MS_SYNC         0x4             /* wait for msync */
 340 #define MS_ASYNC        0x1             /* return immediately */
 341 #define MS_INVALIDATE   0x2             /* invalidate caches */
 342 #define MS_INVALCURPROC 0x8             /* invalidate cache for curproc only */
 343 
 344 #if     (_POSIX_C_SOURCE <= 2) && !defined(_XPG4_2) || defined(__EXTENSIONS__)
 345 /* functions to mctl */
 346 #define MC_SYNC         1               /* sync with backing store */
 347 #define MC_LOCK         2               /* lock pages in memory */
 348 #define MC_UNLOCK       3               /* unlock pages from memory */
 349 #define MC_ADVISE       4               /* give advice to management */
 350 #define MC_LOCKAS       5               /* lock address space in memory */
 351 #define MC_UNLOCKAS     6               /* unlock address space from memory */
 352 #define MC_HAT_ADVISE   7               /* advise hat map size */
 353 #define MC_INHERIT_ZERO 8               /* zero out regions on fork() */
 354 
 355 /* sub-commands for MC_HAT_ADVISE */
 356 #define MHA_MAPSIZE_VA          0x1     /* set preferred page size */
 357 #define MHA_MAPSIZE_BSSBRK      0x2     /* set preferred page size */
 358                                         /* for last bss adjacent to */
 359                                         /* brk area and brk area itself */
 360 #define MHA_MAPSIZE_STACK       0x4     /* set preferred page size */
 361                                         /* processes main stack */
 362