Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Apr 2000 00:00:02 -0500
From:      Alan Cox <alc@cs.rice.edu>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Alfred Perlstein <bright@wintelcom.net>, Brian Fundakowski Feldman <green@freebsd.org>, Michael Reifenberger <root@nihil.plaut.de>, FreeBSD-Current <current@freebsd.org>, alc@freebsd.org
Subject:   Re: panic: vm_object_shadow: source object has OBJ_ONEMAPPING set.
Message-ID:  <20000416000002.I3462@cs.rice.edu>
In-Reply-To: <200004160318.UAA82192@apollo.backplane.com>; from Matthew Dillon on Sat, Apr 15, 2000 at 08:18:01PM -0700
References:  <Pine.BSF.4.21.0004150932460.16247-100000@green.dyndns.org> <200004151803.LAA79656@apollo.backplane.com> <20000415123212.S4381@fw.wintelcom.net> <200004160318.UAA82192@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000416000002.I3462>