Date: Wed, 04 Oct 2000 10:15:19 -0700 From: Julian Elischer <julian@elischer.org> To: net@freebsd.org Subject: new mbuf stuff (dwmalone commit) Message-ID: <39DB65A7.2FB8B884@elischer.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39DB65A7.2FB8B884>