summaryrefslogtreecommitdiffstats
path: root/share/man/man9
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2013-08-22 22:01:56 +0000
committerkib <kib@FreeBSD.org>2013-08-22 22:01:56 +0000
commit7b6ce3ea58e65e172ca1ad959eccacbed50fab30 (patch)
tree60c569e471154195770e3119302c3c7a03686914 /share/man/man9
parent239274d550eb887c888528568f5e53921fb5ba75 (diff)
downloadFreeBSD-src-7b6ce3ea58e65e172ca1ad959eccacbed50fab30.zip
FreeBSD-src-7b6ce3ea58e65e172ca1ad959eccacbed50fab30.tar.gz
Update the manual page for vm_page_grab(9).
Reviewed and edited by: alc Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'share/man/man9')
-rw-r--r--share/man/man9/vm_page_grab.940
1 files changed, 27 insertions, 13 deletions
diff --git a/share/man/man9/vm_page_grab.9 b/share/man/man9/vm_page_grab.9
index d0d3a32..cfab9de 100644
--- a/share/man/man9/vm_page_grab.9
+++ b/share/man/man9/vm_page_grab.9
@@ -1,5 +1,9 @@
.\"
.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
+.\" Copyright (c) 2013 The FreeBSD Foundation
+.\"
+.\" Portions of this documentation were written by Konstantin Belousov
+.\" under sponsorship from the FreeBSD Foundation.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@@ -26,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 7, 2001
+.Dd August 23, 2013
.Dt VM_PAGE_GRAB 9
.Os
.Sh NAME
@@ -48,21 +52,31 @@ If the page exists and is busy,
.Fn vm_page_grab
will sleep while waiting for it.
If the page does not exist, it is allocated.
+The function sleeps until the allocation request can be satisfied.
+.Pp
+The function requires the
+.Fa object
+to be locked on entry, and returns with the object locked.
+If the
+.Fn vm_page_grab
+function sleeps for any reason, the object lock is temporary dropped.
.Pp
-If
-.Dv VM_ALLOC_RETRY
-is not set in
-.Fa allocflags
-and the function sleeps, either getting the page from the object
-or while allocating it,
-.Dv NULL
-is returned.
+The
+.Fn vm_page_grab
+supports all of the flags supported by
+.Xr vm_page_alloc .
+In addition,
+.Fn vm_page_grab
+supports the following flags:
+.Bl -tag -width ".Dv VM_ALLOC_IGN_SBUSY"
+.It Dv VM_ALLOC_IGN_SBUSY
+When waiting for the busy state of the existing page to drain,
+only test for exclusive busy; ignore the shared busy counter.
+.El
.Sh RETURN VALUES
-If successful,
+The
.Fn vm_page_grab
-returns the page; otherwise,
-.Dv NULL
-is returned.
+always returns the page.
.Sh SEE ALSO
.Xr vm_page_alloc 9
.Sh AUTHORS
OpenPOWER on IntegriCloud