Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_object.h
Show First 20 Lines • Show All 179 Lines • ▼ Show 20 Lines | |||||
/* | /* | ||||
* Flags | * Flags | ||||
*/ | */ | ||||
#define OBJ_FICTITIOUS 0x0001 /* (c) contains fictitious pages */ | #define OBJ_FICTITIOUS 0x0001 /* (c) contains fictitious pages */ | ||||
#define OBJ_UNMANAGED 0x0002 /* (c) contains unmanaged pages */ | #define OBJ_UNMANAGED 0x0002 /* (c) contains unmanaged pages */ | ||||
#define OBJ_POPULATE 0x0004 /* pager implements populate() */ | #define OBJ_POPULATE 0x0004 /* pager implements populate() */ | ||||
#define OBJ_DEAD 0x0008 /* dead objects (during rundown) */ | #define OBJ_DEAD 0x0008 /* dead objects (during rundown) */ | ||||
#define OBJ_NOSPLIT 0x0010 /* dont split this object */ | #define OBJ_ANON 0x0010 /* object backs anonymous memory */ | ||||
markj: Shouldn't it be "is backed by"? | |||||
Not Done Inline ActionsI think both 'backs' and 'backed' are not right there. OBJ_ANON object contains anonymous memory, backed usually refers to the shadow chain. kib: I think both 'backs' and 'backed' are not right there. OBJ_ANON object contains anonymous… | |||||
Done Inline ActionsI will update the comment before I commit. jeff: I will update the comment before I commit. | |||||
#define OBJ_UMTXDEAD 0x0020 /* umtx pshared was terminated */ | #define OBJ_UMTXDEAD 0x0020 /* umtx pshared was terminated */ | ||||
#define OBJ_SIZEVNLOCK 0x0040 /* lock vnode to check obj size */ | #define OBJ_SIZEVNLOCK 0x0040 /* lock vnode to check obj size */ | ||||
Not Done Inline ActionsWhy not OBJ_ANON? markj: Why not OBJ_ANON? | |||||
Not Done Inline ActionsIn an unusual move for me, I would also argue for the shorter name. :-) alc: In an unusual move for me, I would also argue for the shorter name. :-) | |||||
#define OBJ_PG_DTOR 0x0080 /* dont reset object, leave that for dtor */ | #define OBJ_PG_DTOR 0x0080 /* dont reset object, leave that for dtor */ | ||||
#define OBJ_TMPFS_NODE 0x0200 /* object belongs to tmpfs VREG node */ | #define OBJ_TMPFS_NODE 0x0200 /* object belongs to tmpfs VREG node */ | ||||
#define OBJ_COLORED 0x1000 /* pg_color is defined */ | #define OBJ_COLORED 0x1000 /* pg_color is defined */ | ||||
#define OBJ_ONEMAPPING 0x2000 /* One USE (a single, non-forked) mapping flag */ | #define OBJ_ONEMAPPING 0x2000 /* One USE (a single, non-forked) mapping flag */ | ||||
#define OBJ_TMPFS 0x8000 /* has tmpfs vnode allocated */ | #define OBJ_TMPFS 0x8000 /* has tmpfs vnode allocated */ | ||||
/* | /* | ||||
* Helpers to perform conversion between vm_object page indexes and offsets. | * Helpers to perform conversion between vm_object page indexes and offsets. | ||||
▲ Show 20 Lines • Show All 136 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
#define VM_OBJECT_ASSERT_BUSY(object) MPASS(vm_object_busied((object))) | #define VM_OBJECT_ASSERT_BUSY(object) MPASS(vm_object_busied((object))) | ||||
void umtx_shm_object_init(vm_object_t object); | void umtx_shm_object_init(vm_object_t object); | ||||
void umtx_shm_object_terminated(vm_object_t object); | void umtx_shm_object_terminated(vm_object_t object); | ||||
extern int umtx_shm_vnobj_persistent; | extern int umtx_shm_vnobj_persistent; | ||||
vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); | vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); | ||||
vm_object_t vm_object_allocate_anon(vm_pindex_t); | |||||
Not Done Inline ActionsExtra space after the function name. markj: Extra space after the function name. | |||||
Not Done Inline ActionsFor consistency with the general approach to naming these functions, I would prefer vm_object_allocate_anon(). alc: For consistency with the general approach to naming these functions, I would prefer… | |||||
Done Inline ActionsOk I will happily adjust flag names. Do you have comments on keeping/remove OBJ_NOSPLIT? It should become !ANON jeff: Ok I will happily adjust flag names.
Do you have comments on keeping/remove OBJ_NOSPLIT? It… | |||||
Not Done Inline ActionsI would gladly see OBJ_NOSPLIT eliminated. Stylistically, I think that the flag OBJ_ANON is better because it explains *why* it is okay to split. alc: I would gladly see OBJ_NOSPLIT eliminated. Stylistically, I think that the flag OBJ_ANON is… | |||||
boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, | boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, | ||||
boolean_t); | boolean_t); | ||||
void vm_object_collapse (vm_object_t); | void vm_object_collapse (vm_object_t); | ||||
void vm_object_deallocate (vm_object_t); | void vm_object_deallocate (vm_object_t); | ||||
void vm_object_destroy (vm_object_t); | void vm_object_destroy (vm_object_t); | ||||
void vm_object_terminate (vm_object_t); | void vm_object_terminate (vm_object_t); | ||||
void vm_object_set_writeable_dirty (vm_object_t); | void vm_object_set_writeable_dirty (vm_object_t); | ||||
void vm_object_init (void); | void vm_object_init (void); | ||||
Show All 23 Lines |
Shouldn't it be "is backed by"?