swap_pager.c (12779) | swap_pager.c (12819) |
---|---|
1/* 2 * Copyright (c) 1994 John S. Dyson 3 * Copyright (c) 1990 University of Utah. 4 * Copyright (c) 1991, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software contributed to Berkeley by 8 * the Systems Programming Group of the University of Utah Computer --- 25 unchanged lines hidden (view full) --- 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ 40 * 41 * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 | 1/* 2 * Copyright (c) 1994 John S. Dyson 3 * Copyright (c) 1990 University of Utah. 4 * Copyright (c) 1991, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software contributed to Berkeley by 8 * the Systems Programming Group of the University of Utah Computer --- 25 unchanged lines hidden (view full) --- 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ 40 * 41 * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 |
42 * $Id: swap_pager.c,v 1.54 1995/12/11 04:58:02 dyson Exp $ | 42 * $Id: swap_pager.c,v 1.55 1995/12/11 15:43:33 dyson Exp $ |
43 */ 44 45/* 46 * Quick hack to page to dedicated partition(s). 47 * TODO: 48 * Add multiprocessor locks 49 * Deal with async writes in a better fashion 50 */ --- 104 unchanged lines hidden (view full) --- 155static void swap_pager_freeswapspace __P((vm_object_t object, 156 unsigned int from, 157 unsigned int to)); 158static int swap_pager_getswapspace __P((vm_object_t object, 159 unsigned int amount, 160 daddr_t *rtval)); 161static void swap_pager_iodone __P((struct buf *)); 162static void swap_pager_iodone1 __P((struct buf *bp)); | 43 */ 44 45/* 46 * Quick hack to page to dedicated partition(s). 47 * TODO: 48 * Add multiprocessor locks 49 * Deal with async writes in a better fashion 50 */ --- 104 unchanged lines hidden (view full) --- 155static void swap_pager_freeswapspace __P((vm_object_t object, 156 unsigned int from, 157 unsigned int to)); 158static int swap_pager_getswapspace __P((vm_object_t object, 159 unsigned int amount, 160 daddr_t *rtval)); 161static void swap_pager_iodone __P((struct buf *)); 162static void swap_pager_iodone1 __P((struct buf *bp)); |
163static int swap_pager_ready __P((void)); | |
164static void swap_pager_reclaim __P((void)); 165static void swap_pager_ridpages __P((vm_page_t *m, int count, 166 int reqpage)); 167static void swap_pager_setvalid __P((vm_object_t object, 168 vm_offset_t offset, int valid)); 169static void swapsizecheck __P((void)); 170 171static inline void --- 1430 unchanged lines hidden (view full) --- 1602 } 1603 if ((swap_pager_inuse.tqh_first == NULL) || 1604 ((cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min && 1605 nswiodone + cnt.v_free_count + cnt.v_cache_count >= cnt.v_free_min)) { 1606 pagedaemon_wakeup(); 1607 } 1608 splx(s); 1609} | 163static void swap_pager_reclaim __P((void)); 164static void swap_pager_ridpages __P((vm_page_t *m, int count, 165 int reqpage)); 166static void swap_pager_setvalid __P((vm_object_t object, 167 vm_offset_t offset, int valid)); 168static void swapsizecheck __P((void)); 169 170static inline void --- 1430 unchanged lines hidden (view full) --- 1601 } 1602 if ((swap_pager_inuse.tqh_first == NULL) || 1603 ((cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min && 1604 nswiodone + cnt.v_free_count + cnt.v_cache_count >= cnt.v_free_min)) { 1605 pagedaemon_wakeup(); 1606 } 1607 splx(s); 1608} |
1610 1611/* 1612 * return true if any swap control structures can be allocated 1613 */ 1614static int 1615swap_pager_ready() 1616{ 1617 if (swap_pager_free.tqh_first) 1618 return 1; 1619 else 1620 return 0; 1621} | |