Deleted Added
full compact
vm_pageout.c (43138) vm_pageout.c (43748)
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.133 1999/01/24 01:33:22 dillon Exp $
68 * $Id: vm_pageout.c,v 1.134 1999/01/24 06:04:52 dillon Exp $
69 */
70
71/*
72 * The proverbial page-out daemon.
73 */
74
75#include "opt_vm.h"
76#include <sys/param.h>

--- 496 unchanged lines hidden (view full) ---

573 bigobj = NULL;
574
575 /*
576 * first, search out the biggest object, and try to free pages from
577 * that.
578 */
579 tmpe = map->header.next;
580 while (tmpe != &map->header) {
69 */
70
71/*
72 * The proverbial page-out daemon.
73 */
74
75#include "opt_vm.h"
76#include <sys/param.h>

--- 496 unchanged lines hidden (view full) ---

573 bigobj = NULL;
574
575 /*
576 * first, search out the biggest object, and try to free pages from
577 * that.
578 */
579 tmpe = map->header.next;
580 while (tmpe != &map->header) {
581 if ((tmpe->eflags & (MAP_ENTRY_IS_A_MAP|MAP_ENTRY_IS_SUB_MAP)) == 0) {
581 if ((tmpe->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) {
582 obj = tmpe->object.vm_object;
583 if ((obj != NULL) && (obj->shadow_count <= 1) &&
584 ((bigobj == NULL) ||
585 (bigobj->resident_page_count < obj->resident_page_count))) {
586 bigobj = obj;
587 }
588 }
589 tmpe = tmpe->next;

--- 5 unchanged lines hidden (view full) ---

595 /*
596 * Next, hunt around for other pages to deactivate. We actually
597 * do this search sort of wrong -- .text first is not the best idea.
598 */
599 tmpe = map->header.next;
600 while (tmpe != &map->header) {
601 if (vm_map_pmap(map)->pm_stats.resident_count <= desired)
602 break;
582 obj = tmpe->object.vm_object;
583 if ((obj != NULL) && (obj->shadow_count <= 1) &&
584 ((bigobj == NULL) ||
585 (bigobj->resident_page_count < obj->resident_page_count))) {
586 bigobj = obj;
587 }
588 }
589 tmpe = tmpe->next;

--- 5 unchanged lines hidden (view full) ---

595 /*
596 * Next, hunt around for other pages to deactivate. We actually
597 * do this search sort of wrong -- .text first is not the best idea.
598 */
599 tmpe = map->header.next;
600 while (tmpe != &map->header) {
601 if (vm_map_pmap(map)->pm_stats.resident_count <= desired)
602 break;
603 if ((tmpe->eflags & (MAP_ENTRY_IS_A_MAP|MAP_ENTRY_IS_SUB_MAP)) == 0) {
603 if ((tmpe->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) {
604 obj = tmpe->object.vm_object;
605 if (obj)
606 vm_pageout_object_deactivate_pages(map, obj, desired, 0);
607 }
608 tmpe = tmpe->next;
609 };
610
611 /*

--- 853 unchanged lines hidden ---
604 obj = tmpe->object.vm_object;
605 if (obj)
606 vm_pageout_object_deactivate_pages(map, obj, desired, 0);
607 }
608 tmpe = tmpe->next;
609 };
610
611 /*

--- 853 unchanged lines hidden ---