Copyright (C) 2001 Chad David <email@example.com>. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice(s), this list of conditions and the following disclaimer as the first lines of this file unmodified other than the possible addition of one or more copyright notices. 2. Redistributions in binary for...
NAMEvm_page_hold vm_page_unhold - update a page's hold count
SYNOPSISIn sys/param.h In vm/vm.h In vm/vm_page.h Ft void Fn vm_page_hold vm_page_t m Ft void Fn vm_page_unhold vm_page_t m
DESCRIPTIONThe Fn vm_page_hold function increases the hold count on a page. This prevents the page daemon from freeing the page.
Fn vm_page_hold should only be used for very temporary wiring of a page, as that page will not be considered for paging or reallocation for as long as its hold count is greater than zero. Also note that while wired pages are removed from whatever queue they are on, Fn vm_page_hold does not affect the location of the page. If it is on a queue prior to the call, it will still be there afterward.
If the page needs to be held for a long period of time, vm_page_wire9 should be used.
Fn vm_page_unhold function reduces the hold count on a page. If the hold count is zero it is possible that the page will be freed by the page daemon.