On Sat, Apr 15, 2000 at 08:18:01PM -0700, Matthew Dillon wrote:
> :Is there a good reason for not having the vm_object_clear_flag() in
> :vm_object_reference()?
> 
>     Well, yes...  vm_object's are referenced for all sorts of things
>     temporarily.  Everything from a process looking one up temporarily
>     to the swap code issuing I/O.  None of these references have anything
>     to do with OBJ_ONEMAPPING.
> 

I agree.  Easy examples to appreciate are vm_map_clip_start and
vm_map_clip_end.

vm_map_clip_start takes a vm_map_entry and an address X as parameters.  If X
falls in the middle of the vm_map_entry, it splits the entry into
two entries: one mapping everything up to X and one mapping everything
after X.  This can't possibly create two mappings to the same physical
page, so clearing OBJ_ONEMAPPING isn't necessary but incrementing the
underlying object's ref count is.

Alan


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to