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>