vm_pageout.c (9507) | vm_pageout.c (10358) |
---|---|
1/* 2 * Copyright (c) 1991 Regents of the University of California. 3 * All rights reserved. 4 * Copyright (c) 1994 John S. Dyson 5 * All rights reserved. 6 * Copyright (c) 1994 David Greenman 7 * All rights reserved. 8 * --- 51 unchanged lines hidden (view full) --- 60 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 61 * School of Computer Science 62 * Carnegie Mellon University 63 * Pittsburgh PA 15213-3890 64 * 65 * any improvements or extensions that they make and grant Carnegie the 66 * rights to redistribute these changes. 67 * | 1/* 2 * Copyright (c) 1991 Regents of the University of California. 3 * All rights reserved. 4 * Copyright (c) 1994 John S. Dyson 5 * All rights reserved. 6 * Copyright (c) 1994 David Greenman 7 * All rights reserved. 8 * --- 51 unchanged lines hidden (view full) --- 60 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 61 * School of Computer Science 62 * Carnegie Mellon University 63 * Pittsburgh PA 15213-3890 64 * 65 * any improvements or extensions that they make and grant Carnegie the 66 * rights to redistribute these changes. 67 * |
68 * $Id: vm_pageout.c,v 1.52 1995/07/10 08:53:22 davidg Exp $ | 68 * $Id: vm_pageout.c,v 1.53 1995/07/13 08:48:40 davidg Exp $ |
69 */ 70 71/* 72 * The proverbial page-out daemon. 73 */ 74 75#include <sys/param.h> 76#include <sys/systm.h> --- 7 unchanged lines hidden (view full) --- 84 85#include <vm/vm.h> 86#include <vm/vm_page.h> 87#include <vm/vm_pageout.h> 88#include <vm/vm_kern.h> 89#include <vm/vm_pager.h> 90#include <vm/swap_pager.h> 91 | 69 */ 70 71/* 72 * The proverbial page-out daemon. 73 */ 74 75#include <sys/param.h> 76#include <sys/systm.h> --- 7 unchanged lines hidden (view full) --- 84 85#include <vm/vm.h> 86#include <vm/vm_page.h> 87#include <vm/vm_pageout.h> 88#include <vm/vm_kern.h> 89#include <vm/vm_pager.h> 90#include <vm/swap_pager.h> 91 |
92/* 93 * System initialization 94 */ 95 96/* the kernel process "vm_pageout"*/ 97static void vm_pageout __P((void)); 98struct proc *pageproc; 99 100static struct kproc_desc page_kp = { 101 "pagedaemon", 102 vm_pageout, 103 &pageproc 104}; 105SYSINIT_KT(pagedaemon, SI_SUB_KTHREAD_PAGE, SI_ORDER_FIRST, kproc_start, (caddr_t)&page_kp) 106 107/* the kernel process "vm_daemon"*/ 108static void vm_daemon __P((void)); 109struct proc *vmproc; 110 111static struct kproc_desc vm_kp = { 112 "vmdaemon", 113 vm_daemon, 114 &vmproc 115}; 116SYSINIT_KT(vmdaemon, SI_SUB_KTHREAD_VM, SI_ORDER_FIRST, kproc_start, (caddr_t)&vm_kp) 117 118 |
|
92int vm_pages_needed; /* Event on which pageout daemon sleeps */ 93 94int vm_pageout_pages_needed; /* flag saying that the pageout daemon needs pages */ 95 96extern int npendingio; 97int vm_pageout_req_swapout; /* XXX */ 98int vm_daemon_needed; 99extern int nswiodone; --- 684 unchanged lines hidden (view full) --- 784 } 785 } 786 return force_wakeup; 787} 788 789/* 790 * vm_pageout is the high level pageout daemon. 791 */ | 119int vm_pages_needed; /* Event on which pageout daemon sleeps */ 120 121int vm_pageout_pages_needed; /* flag saying that the pageout daemon needs pages */ 122 123extern int npendingio; 124int vm_pageout_req_swapout; /* XXX */ 125int vm_daemon_needed; 126extern int nswiodone; --- 684 unchanged lines hidden (view full) --- 811 } 812 } 813 return force_wakeup; 814} 815 816/* 817 * vm_pageout is the high level pageout daemon. 818 */ |
792void | 819static void |
793vm_pageout() 794{ 795 (void) spl0(); 796 797 /* 798 * Initialize some paging parameters. 799 */ 800 --- 47 unchanged lines hidden (view full) --- 848 vm_pager_sync(); 849 vm_pageout_scan(); 850 vm_pager_sync(); 851 wakeup(&cnt.v_free_count); 852 wakeup(kmem_map); 853 } 854} 855 | 820vm_pageout() 821{ 822 (void) spl0(); 823 824 /* 825 * Initialize some paging parameters. 826 */ 827 --- 47 unchanged lines hidden (view full) --- 875 vm_pager_sync(); 876 vm_pageout_scan(); 877 vm_pager_sync(); 878 wakeup(&cnt.v_free_count); 879 wakeup(kmem_map); 880 } 881} 882 |
856void | 883static void |
857vm_daemon() 858{ 859 vm_object_t object; 860 struct proc *p; 861 862 while (TRUE) { 863 tsleep(&vm_daemon_needed, PUSER, "psleep", 0); 864 if (vm_pageout_req_swapout) { --- 67 unchanged lines hidden --- | 884vm_daemon() 885{ 886 vm_object_t object; 887 struct proc *p; 888 889 while (TRUE) { 890 tsleep(&vm_daemon_needed, PUSER, "psleep", 0); 891 if (vm_pageout_req_swapout) { --- 67 unchanged lines hidden --- |