GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
VM_PAGE_FREE(9) FreeBSD Kernel Developer's Manual VM_PAGE_FREE(9)

vm_page_free, vm_page_free_toq, vm_page_free_zero, vm_page_try_to_free
free a page

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_page.h>

void
vm_page_free(vm_page_t m);

void
vm_page_free_toq(vm_page_t m);

void
vm_page_free_zero(vm_page_t m);

int
vm_page_try_to_free(vm_page_t m);

The vm_page_free_toq() function moves a page into the free queue, and disassociates it from its object. If the page is held, wired, already free, or its busy count is not zero, the system will panic. If the PG_ZERO flag is set on the page, it is placed at the end of the free queue; otherwise, it is placed at the front.

If the page's object is of type OBJT_VNODE and it is the last page associated with the object, the underlying vnode may be freed.

The vm_page_free() and vm_page_free_zero() functions both call vm_page_free_toq() to actually free the page, but vm_page_free_zero() sets the PG_ZERO flag and vm_page_free() clears the PG_ZERO flag prior to the call to vm_page_free_toq().

The vm_page_try_to_free() function verifies that the page is not held, wired, busy or dirty, and if so, marks the page as busy, drops any protection that may be set on the page, and frees it.

vm_page_try_to_free() returns 1 if it is able to free the page; otherwise, 0 is returned.

vm_page_busy(9), vm_page_hold(9), vm_page_wire(9)

This manual page was written by Chad David <davidc@acns.ab.ca>.
July 24, 2001 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 9 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.