Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Jan 1998 21:48:29 -0500 (EST)
From:      "John S. Dyson" <dyson@FreeBSD.ORG>
To:        dyson@FreeBSD.ORG
Cc:        tlambert@primenet.com, dyson@FreeBSD.ORG, scottm@cs.ucla.edu, freebsd-current@FreeBSD.ORG
Subject:   Re: stable current?
Message-ID:  <199801260248.VAA00479@dyson.iquest.net>
In-Reply-To: <199801260225.VAA00373@dyson.iquest.net> from "John S. Dyson" at "Jan 25, 98 09:25:26 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
John S. Dyson said:
>
> Well, you are right, and the code supports it.
>
Following up my own comments:

The pager code has supported whatever the filesystems do.  This becomes
more of an issue with the layered filesystems, and the major impediment
that we have had is that the VM object could not be shared across vnodes,
and now it can.  (Theoretically, we could layer UFS onto other filesystems,
but I am not worried about that right now.)

Sure there are some layering issues as you have suggested, but I have
also known about them.  There has been alot more wrong than even you
have ever talked about (at least to me.)

If this was an easy thing to fix, I would have a long time ago.  There
are few, if any revelations in what you have said, but damn it, it doesn't
hurt to work in parallel, until I hear complaints that don't solve them,
or someone who discounts the complexity of problems.

Almost none of the problems that we have had are due to the conventional
filesystem implementations.  I can write a native getpages or putpages in
a few hours.  It is the layering, and the vnode pager is pretty much not
an issue, and hasn't been for the last 2yrs.  If the vnode pager implements
a default getpages or putpages interface, who cares?  The layered filesystems
will supply their own.

Figure this:
	I fixed our object reference problem in about 3-4wks.
	PHK has fixed the vnode caching/reference problem over at least
		several weeks (I don't know how long.)
	I can fix the entire FS layering problem in two weeks full time.
	I can add getpages/putpages to UFS in an hour (we already have
	a valid getpages/putpages for UFS anyway :-)).

	Tell me where most of the work is?  The time to implement a getpages
	and putpages is childs-play.  The layering structure itself has been
	in place for two years.

Again, read-my-lips, we already have the getpages/putpages abstraction.

For example,
	vnode_pager uses VOP_WRITE for UFS filesystem putpages.  (That is
	totally valid, if not slightly more inefficient than it might be.)
	vnode_pager uses ufs_getpages which uses spec_getpages for UFS filesystem
	getpages. (That is also totally valid, and is an example of a full
	implementation of the abstraction.)

-- 
John                  | Never try to teach a pig to sing,
dyson@freebsd.org     | it just makes you look stupid,
jdyson@nc.com         | and it irritates the pig.



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