Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 May 2001 01:18:05 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Kirk McKusick <mckusick@mckusick.com>
Cc:        Robert Watson <rwatson@FreeBSD.ORG>, Julian Elischer <julian@elischer.org>, Rik van Riel <riel@conectiva.com.br>, freebsd-hackers@FreeBSD.ORG, Matt Dillon <dillon@earth.backplane.com>, David Xu <bsddiy@21cn.com>
Subject:   Re: vm balance
Message-ID:  <3AEE713D.C0A35C82@mindspring.com>
References:  <200104180540.WAA58303@beastie.mckusick.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[ ... merging vnode and vm_object_t ... ]

Kirk McKusick wrote:
> Every vnode in the system has an associated object. Every object
> backed by a file (e.g., everything but anonymous objects) has an
> associated vnode. So, the performance of one is pretty tied to the
> performance of the other. Matt is right that the VM does locking
> on a page level, but then has to get a lock on the associated
> vnode to do a read or a write, so really is pretty tied to the
> vnode lock performance. Merging the two data structures is not
> likely to change the performance characteristics of the system for
> either better or worse. But it will save a lot of headaches having
> to do with lock ordering that we have to deal with at the moment.

I really, really dislike the idea of a merge of these objects,
still, and not just because it will be nearly impossible to
macke object coherency work in a stack of two or more VFS
layers if this change ever goes through.

When John Dyson originally wrote the FreeBSD unified VM and
buffer cache code under contract for Oracle for use in their
Oracle 8i and FreeBSD based NC server platform, he did so in
such a way to allow anonymous objects, which did not have
backing store associated with them.  This was the memory
pulled off of /dev/zero, and the memory in SYSVSHM.

The main benefit of doing this is that it saves an incredible
amount of write-through, which would otherwise be necessary
to maintain coherency with the backing object (vnode).

I think we need to remember that we do not always have a
backing object, nor is a backing object always desirable.

The performance of an mmap'ed file, or swap-backed anonymous
region is _significantly_ below that of unbacked objects.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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