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>