Penguin

Differences between current version and predecessor to the previous major change of mincore(2).

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 2 Last edited on Monday, March 10, 2003 2:49:12 pm by PerryLorier
Older page: version 1 Last edited on Tuesday, June 4, 2002 12:23:42 am by perry Revert
@@ -1,107 +1,40 @@
-MINCORE  
-!!!MINCORE  
-NAME  
-SYNOPSIS  
-DESCRIPTION  
-RETURN VALUE  
-ERRORS  
-BUGS  
-CONFORMING TO  
-HISTORY  
-AVAILABILITY  
-SEE ALSO  
-----  
 !!NAME 
+mincore - get information on whether pages are in core  
  
-  
-mincore - get information on whether pages are in core  
 !!SYNOPSIS 
+ #include <unistd.h>  
+ #include <sys/mman.h>  
  
+ __int mincore(void *__''start''__, size_t__ ''length''__, unsigned char *__ ''vec''__);__  
  
-__#include __  
-#include __  
-  
-  
-__int mincore(void *__''start''__, size_t__  
-''length''__, unsigned char *__  
-''vec''__);__  
 !!DESCRIPTION 
-  
-  
- The __ mincore__ function requests a vector describing  
- which pages of a file are in core and can be read without  
- disk access. The kernel will supply data for ''length''  
-bytes following the ''start'' address. On return, the  
- kernel will have filled ''vec'' with bytes, of which the  
- least significant bit indicates if a page is core 
+The mincore(2) function requests a vector describing which pages of a file are in core and can be read without disk access. The kernel will supply data for ''length''  
+bytes following the ''start'' address. On return, the kernel will have filled ''vec'' with bytes, of which the least significant bit indicates if a page is core 
 resident. 
  
+For mincore(2) to return successfully, ''start'' must lie on a page boundary. It is the caller's responsibility to round up to the nearest page. The ''length'' parameter need not be a multiple of the page size. The vector ''vec'' must be large enough to contain length/PAGE_SIZE bytes. One may obtain the page size from  
+getpagesize(2).  
  
-For __mincore__ to return successfully, ''start'' must  
-lie on a page boundary. It is the caller's responsibility to  
-round up to the nearest page. The ''length'' parameter  
-need not be a multiple of the page size. The vector  
-''vec'' must be large enough to contain length/PAGE_SIZE  
-bytes. One may obtain the page size from  
-__getpagesize(2).__  
 !!RETURN VALUE 
-  
-  
- On success, __mincore__ returns zero. On error, -1 is  
- returned, and ''errno'' is set  
- appropriately. 
+On success, __mincore__ returns zero. On error, -1 is returned, and ''errno'' is set appropriately. 
 !!ERRORS 
+;[EAGAIN]: kernel is temporarily out of resources  
+;[EINVAL]: is not a multiple of the page size, or has a non-positive value  
+;[EFAULT]: ''vec'' points to an illegal address  
+;[ENOMEM]: ''address'' to ''address'' + ''length'' contained unmapped memory, or memory not part of a file.  
  
-  
-__EAGAIN__ kernel is temporarily out of  
-resources  
-  
-  
-__EINVAL__  
-  
-  
-is not a multiple of the page size, or has a non-positive  
-value  
-  
-  
-__EFAULT__  
-  
-  
-''vec'' points to an illegal address  
-  
-  
-__ENOMEM__  
-  
-  
-''address'' to ''address'' + ''length'' contained  
-unmapped memory, or memory not part of a file.  
 !!BUGS 
+mincore(2) should return a bit vector and not a byte vector. As of Linux 2.4.5, it is not possible to gain information on the core residency of pages which are not  
+backed by a file. In other words, calling mincore(2) on an region returned by an anonymous mmap(2) does not work and sets errno to [ENOMEM]. Unless pages are locked in memory, the contents of ''vec'' may be stale by the time they reach userspace.  
  
-  
-__mincore__ should return a bit vector and not a byte  
-vector. As of Linux 2.4.5, it is not possible to gain  
-information on the core residency of pages which are not  
-backed by a file. In other words, calling __mincore__ on  
-an region returned by an anonymous __mmap(2)__ does not  
-work and sets errno to ENOMEM. Unless pages are locked in  
-memory, the contents of ''vec'' may be stale by the time  
-they reach userspace.  
 !!CONFORMING TO 
+mincore(2) does not appear to be part of POSIX or the Single Unix Specification.  
  
-  
-__mincore__ does not appear to be part of POSIX or the  
-Single Unix Specification.  
 !!HISTORY 
+The mincore(2) function first appeared in 4.4BSD.  
  
-  
-The mincore() function first appeared in  
-4.4BSD.  
 !!AVAILABILITY 
+Since Linux 2.3.99pre1 and glibc 2.2.  
  
-  
-Since Linux 2.3.99pre1 and glibc 2.2.  
 !!SEE ALSO 
-  
-  
 getpagesize(2), mmap(2) 
-----  
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.