From 3df92083af00c576ada4dcfe173bd67a3423dc34 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 27 Dec 2007 17:56:35 +0000 Subject: [PATCH] Add a list of reservations to the vm object structure. Recycle the vm object's "pg_color" field to represent the color of the first virtual page address at which the object is mapped instead of the color of the object's first physical page. Since an object may not be mapped, introduce a flag "OBJ_COLORED" that indicates whether "pg_color" is valid. --- sys/vm/vm_object.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index b0da10b01284..4f9cad43cebd 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -100,6 +100,7 @@ struct vm_object { struct vm_object *backing_object; /* object that I'm a shadow of */ vm_ooffset_t backing_object_offset;/* Offset in backing object */ TAILQ_ENTRY(vm_object) pager_object_list; /* list of all objects of this pager type */ + LIST_HEAD(, vm_reserv) rvq; /* list of reservations */ vm_page_t cache; /* root of the cache page splay tree */ void *handle; union { @@ -143,6 +144,7 @@ struct vm_object { #define OBJ_PIPWNT 0x0040 /* paging in progress wanted */ #define OBJ_MIGHTBEDIRTY 0x0100 /* object might be dirty */ #define OBJ_CLEANING 0x0200 +#define OBJ_COLORED 0x1000 /* pg_color is defined */ #define OBJ_ONEMAPPING 0x2000 /* One USE (a single, non-forked) mapping flag */ #define OBJ_DISCONNECTWNT 0x4000 /* disconnect from vnode wanted */ #define OBJ_NEEDGIANT 0x8000 /* object requires Giant */