Skip site navigation (1)Skip section navigation (2)
Date:      02 Jun 2003 21:48:55 +0100
From:      Paul Richards <paul@freebsd-services.com>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        current@freebsd.org
Subject:   Re: VFS: C99 sparse format for struct vfsops
Message-ID:  <1054586934.1388.4.camel@cf.freebsd-services.com>
In-Reply-To: <1054584260.85972.26.camel@cf.freebsd-services.com>
References:  <20030603134717.GD35187@survey.codeburst.net> <20030603.085659.13314075.imp@bsdimp.com> <20030603155157.GH35187@survey.codeburst.net> <20030603.111956.46316212.imp@bsdimp.com> <1054584260.85972.26.camel@cf.freebsd-services.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2003-06-02 at 21:04, Paul Richards wrote:

> 
> The tradeoff with using an index into an array is that there'd be a
> heavy penalty for growing the array if an extra method didn't fit, but
> that would be exceptionally rare and with our present usage we'd never
> have that happen.

I'm not sure this is actually a problem after all since the Interface
doesn't change and therefore we know a-priori how many methods there can
be so we can pre-allocate an array. I wonder why Doug didn't do this,
perhaps he thought that there'd be very large interfaces and 255 was a
reasonable compromise for a cache. However, in practice we'd save a lot
of space per kobj by preallocating the actual number of entries we
needed for the Interface instead and then we could do away with the _ce
problem. This would actually speed up the dispatch a lot too since we
wouldn't have to traverse a list looking for a matching method entry and
could call the function directly from the method table.

Doug, am I missing something?


-- 
Tis a wise thing to know what is wanted, wiser still to know when
it has been achieved and wisest of all to know when it is unachievable
for then striving is folly. [Magician]



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