diff options
| author | David Greenman <dg@FreeBSD.org> | 1994-11-25 07:58:29 +0000 |
|---|---|---|
| committer | David Greenman <dg@FreeBSD.org> | 1994-11-25 07:58:29 +0000 |
| commit | eadf9e27cdb6351c07aab06fe098cbe8b8c63ee2 (patch) | |
| tree | aeaac1739e348fcceabfa7a55d933de5b3c7d95d | |
| parent | 40598ff428fdfab9ba4fdd293787cc44d5ce24c3 (diff) | |
Notes
| -rw-r--r-- | sys/kern/init_main.c | 4 | ||||
| -rw-r--r-- | sys/vm/vm_object.c | 28 | ||||
| -rw-r--r-- | sys/vm/vm_pageout.c | 83 |
3 files changed, 5 insertions, 110 deletions
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index f42f00ab77c6f..8a499354fa057 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $Id: init_main.c,v 1.15 1994/10/26 03:34:20 phk Exp $ + * $Id: init_main.c,v 1.16 1994/11/06 05:01:58 davidg Exp $ */ #include <sys/param.h> @@ -319,7 +319,6 @@ main(framep) /* NOTREACHED */ } -#ifdef REL2_1 /* * Start high level vm daemon (process 3). */ @@ -333,7 +332,6 @@ main(framep) vm_daemon(); /*NOTREACHED*/ } -#endif /* * Start update daemon (process 4). diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 66159af953c48..75c4079782c15 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_object.c,v 1.9 1994/10/15 10:28:46 davidg Exp $ + * $Id: vm_object.c,v 1.10 1994/11/06 05:07:50 davidg Exp $ */ /* @@ -127,9 +127,7 @@ _vm_object_allocate(size, object) { bzero(object, sizeof *object); TAILQ_INIT(&object->memq); -#ifdef REL2_1a TAILQ_INIT(&object->reverse_shadow_head); -#endif vm_object_lock_init(object); object->ref_count = 1; object->resident_page_count = 0; @@ -253,10 +251,8 @@ vm_object_deallocate(object) */ vm_object_lock(object); if (--(object->ref_count) != 0) { -#ifdef REL2_1a if( object->ref_count == 1) vm_object_rcollapse(object->reverse_shadow_head.tqh_first, object); -#endif vm_object_unlock(object); /* @@ -299,10 +295,8 @@ vm_object_deallocate(object) vm_object_cache_unlock(); temp = object->shadow; -#ifdef REL2_1a if( temp) TAILQ_REMOVE(&temp->reverse_shadow_head, object, reverse_shadow_list); -#endif vm_object_terminate(object); /* unlocks and deallocates object */ object = temp; @@ -917,14 +911,10 @@ void vm_object_copy(src_object, src_offset, size, */ src_object->ref_count--; /* remove ref. from old_copy */ -#ifdef REL2_1a if( old_copy->shadow) TAILQ_REMOVE(&old_copy->shadow->reverse_shadow_head, old_copy, reverse_shadow_list); -#endif old_copy->shadow = new_copy; -#ifdef REL2_1a TAILQ_INSERT_TAIL(&old_copy->shadow->reverse_shadow_head, old_copy, reverse_shadow_list); -#endif new_copy->ref_count++; /* locking not needed - we have the only pointer */ vm_object_unlock(old_copy); /* done with old_copy */ @@ -938,9 +928,7 @@ void vm_object_copy(src_object, src_offset, size, */ new_copy->shadow = src_object; -#ifdef REL2_1a TAILQ_INSERT_TAIL(&new_copy->shadow->reverse_shadow_head, new_copy, reverse_shadow_list); -#endif new_copy->shadow_offset = new_start; src_object->ref_count++; src_object->copy = new_copy; @@ -997,9 +985,7 @@ vm_object_shadow(object, offset, length) * count. */ result->shadow = source; -#ifdef REL2_1a TAILQ_INSERT_TAIL(&result->shadow->reverse_shadow_head, result, reverse_shadow_list); -#endif /* * Store the offset into the source object, @@ -1148,7 +1134,6 @@ vm_object_remove(pager) } } -#ifdef REL2_1a static void vm_object_rcollapse(object, sobject) register vm_object_t object, sobject; @@ -1212,7 +1197,6 @@ vm_object_rcollapse(object, sobject) } } } -#endif /* * this version of collapse allows the operation to occur earlier and @@ -1483,17 +1467,13 @@ vm_object_collapse(object) * moves from within backing_object to within object. */ -#ifdef REL2_1a TAILQ_REMOVE(&object->shadow->reverse_shadow_head, object, reverse_shadow_list); if( backing_object->shadow) TAILQ_REMOVE(&backing_object->shadow->reverse_shadow_head, backing_object, reverse_shadow_list); -#endif object->shadow = backing_object->shadow; -#ifdef REL2_1a if( object->shadow) TAILQ_INSERT_TAIL(&object->shadow->reverse_shadow_head, object, reverse_shadow_list); -#endif - + object->shadow_offset += backing_object->shadow_offset; if (object->shadow != NULL && object->shadow->copy != NULL) { @@ -1574,14 +1554,10 @@ vm_object_collapse(object) * count is at least 2. */ -#ifdef REL2_1a TAILQ_REMOVE(&object->shadow->reverse_shadow_head, object, reverse_shadow_list); -#endif vm_object_reference(object->shadow = backing_object->shadow); -#ifdef REL2_1a if( object->shadow) TAILQ_INSERT_TAIL(&object->shadow->reverse_shadow_head, object, reverse_shadow_list); -#endif object->shadow_offset += backing_object->shadow_offset; /* diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index 37267d3c4970c..e2fd22c5630cb 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -65,7 +65,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_pageout.c,v 1.25 1994/11/14 02:57:40 davidg Exp $ + * $Id: vm_pageout.c,v 1.26 1994/11/17 06:24:25 davidg Exp $ */ /* @@ -343,20 +343,10 @@ vm_pageout_object_deactivate_pages(map, object, count) if (count == 0) count = 1; -#ifndef REL2_1 - if (object->shadow) { - int scount = count; - if( object->shadow->ref_count > 1) - scount /= object->shadow->ref_count; - if( scount) - dcount += vm_pageout_object_deactivate_pages(map, object->shadow, scount); - } -#else if (object->shadow) { if( object->shadow->ref_count == 1) dcount += vm_pageout_object_deactivate_pages(map, object->shadow, count/2); } -#endif if (object->paging_in_progress) return dcount; @@ -479,7 +469,6 @@ vm_pageout_map_deactivate_pages(map, entry, count, freeer) return; } -#ifdef REL2_1 void vm_req_vmdaemon() { extern int ticks; @@ -489,7 +478,6 @@ vm_req_vmdaemon() { lastrun = ticks; } } -#endif /* * vm_pageout_scan does the dirty work for the pageout daemon. @@ -508,69 +496,6 @@ vm_pageout_scan() int force_wakeup = 0; int cache_size, orig_cache_size; -#ifndef REL2_1 -morefree: - /* - * now swap processes out if we are in low memory conditions - */ - if ((cnt.v_free_count <= cnt.v_free_min) && !swap_pager_full && vm_swap_size) { - /* - * swap out inactive processes - */ - swapout_threads(); - } - - /* - * scan the processes for exceeding their rlimits or if process - * is swapped out -- deactivate pages - */ - - for (p = (struct proc *)allproc; p != NULL; p = p->p_next) { - int overage; - quad_t limit; - - /* - * if this is a system process or if we have already - * looked at this process, skip it. - */ - if (p->p_flag & (P_SYSTEM|P_WEXIT)) { - continue; - } - - /* - * if the process is in a non-running type state, - * don't touch it. - */ - if (p->p_stat != SRUN && p->p_stat != SSLEEP) { - continue; - } - - /* - * get a limit - */ - limit = qmin(p->p_rlimit[RLIMIT_RSS].rlim_cur, - p->p_rlimit[RLIMIT_RSS].rlim_max); - - /* - * let processes that are swapped out really be swapped out - * set the limit to nothing (will force a swap-out.) - */ - if ((p->p_flag & P_INMEM) == 0) - limit = 0; - - size = p->p_vmspace->vm_pmap.pm_stats.resident_count * NBPG; - if (limit >= 0 && size >= limit) { - overage = (size - limit) / NBPG; - vm_pageout_map_deactivate_pages(&p->p_vmspace->vm_map, - (vm_map_entry_t) 0, &overage, vm_pageout_object_deactivate_pages); - } - } - - if (((cnt.v_free_count + cnt.v_inactive_count) >= - (cnt.v_inactive_target + cnt.v_free_target)) && - (cnt.v_free_count >= cnt.v_free_target)) - return force_wakeup; -#else /* calculate the total cached size */ if( cnt.v_inactive_count < cnt.v_inactive_target) { @@ -586,8 +511,6 @@ morefree: vm_req_vmdaemon(); } -#endif - pages_freed = 0; desired_free = cnt.v_free_target; @@ -598,7 +521,7 @@ morefree: * encounter dirty pages, we start cleaning them. */ - maxlaunder = (cnt.v_free_target - cnt.v_free_count); + maxlaunder = 128; maxscan = cnt.v_inactive_count; rescan1: m = vm_page_queue_inactive.tqh_first; @@ -891,7 +814,6 @@ vm_pageout() } } -#ifdef REL2_1 void vm_daemon() { int cache_size; @@ -994,4 +916,3 @@ restart: vm_object_cache_unlock(); } } -#endif |
