From owner-freebsd-net Wed Oct 4 10:16: 1 2000 Delivered-To: freebsd-net@freebsd.org Received: from urban.iinet.net.au (urban.iinet.net.au [203.59.24.231]) by hub.freebsd.org (Postfix) with ESMTP id BA21637B66C for ; Wed, 4 Oct 2000 10:15:56 -0700 (PDT) Received: from muzak.iinet.net.au (muzak.iinet.net.au [203.59.24.237]) by urban.iinet.net.au (8.8.7/8.8.7) with ESMTP id BAA12482 for ; Thu, 5 Oct 2000 01:15:51 +0800 Received: from elischer.org (reggae-12-204.nv.iinet.net.au [203.59.92.204]) by muzak.iinet.net.au (8.8.5/8.8.5) with ESMTP id BAA29339 for ; Thu, 5 Oct 2000 01:15:48 +0800 Message-ID: <39DB65A7.2FB8B884@elischer.org> Date: Wed, 04 Oct 2000 10:15:19 -0700 From: Julian Elischer X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 5.0-CURRENT i386) X-Accept-Language: en MIME-Version: 1.0 To: net@freebsd.org Subject: new mbuf stuff (dwmalone commit) Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The new reference code could cause a lot of grief in the future for One company I know of. This is because the new reference counting code doesn't take into account the reason that the old reference counting code for external storage was added in the first place. The old code had two methods. One to Add a reference and one to decrement a reference, however the new code only leaves the code to decrement the reference. This means that code that supplies it's own external memory types has no way to notify it's own memory manager that there are multiple references to an object. My guess is that it was assumed that the underlying memory manager has no reason to know ho many references are held on an object, and that there is now just a single reference from "the mbuf system" which is removed when the last mbuf internal reference is removed.. One system I know however had many objects, sorted in order of "number of references" in order to have the heavily used items near the head fo a list. Items with only one reference were "incomplete" and unlikely to be searched for. This system can no longer work. (Luckily it may never get ported to FreeBSD-5) (It was on 2.x) At this time I don't see a need to change it back, but it's just a 'heads up' that this sort of behaviour should be considered.. -- __--_|\ Julian Elischer / \ julian@elischer.org ( OZ ) World tour 2000 ---> X_.---._/ presently in: Perth v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message