Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jun 2000 15:22:53 -0700 (PDT)
From:      Joe McGuckin <joe@via.net>
To:        freebsd-hackers@FreeBSD.ORG
Subject:   Re[2]: mbuf re-write(s), v 0.1
Message-ID:  <200006292222.PAA10225@monk.via.net>
In-Reply-To: <Pine.BSF.4.21.0006291154100.3622-100000@jehovah.technokratis.com>

next in thread | previous in thread | raw e-mail | index | archive | help

What about a slab allocator 
(e.g. http://www.cnds.jhu.edu/~jesus/418/SlabAllocator.pdf)

Joe


Bosko Milekic <bmilekic@dsuper.net> wrote:
> 
> On Thu, 29 Jun 2000, David Greenman wrote:
> 
> >    We used to do this in FreeBSD, but found that it was a bad idea for
> > performance reasons. Freeing and reallocating memory from the high-level
> > VM system is quite expensive and the trend in NICs these days is towards
> > needing the code to be even faster, not slower. Further, if the 'peak' is
> > reached often, then you're probably not really gaining much by freeing
> > the memory back to the common pool.
> > 
> > -DG
> 
> 	What was previously done at some point was use the kernel malloc() to
>   allocate mbufs. As you know, this is a general purpose allocator that has
>   to first determine what algorithm to use and then store the object
>   correctly according to its size. This allocator is faster than that
>   one. This allocator knows that it only has to deal with mbufs and knows
>   that all of these mbufs are of the same size. 
>   	I am not proposing to return to malloc(), I am proposing the new
>   allocator.
>   	Also, the "peak" in this case is not reached often, obviously. It is
>   designed with just that idea in mind. But, if the administrator feels
>   that it is, I have provided the following mechanism:
> 
>   { jehovah:/home/bmilekic }>> sysctl -A | grep min_on_avail
>   kern.ipc.min_on_avail: 0
> 
>   With this sysctl, the administrator can set a "minimum required" count
>   for mbufs. In other words, it is possible to easily tell the system to
>   keep as many mbufs as you'd like cached on the free lists.
> 
> > David Greenman
> > Co-founder, The FreeBSD Project - http://www.freebsd.org
> > Manufacturer of high-performance Internet servers - http://www.terasolutions.com
> > Pave the road of life with opportunities.
> 
>  -Bosko
> 
> --
>  Bosko Milekic  *  Voice/Mobile: 514.865.7738  *  Pager: 514.921.0237
>     bmilekic@technokratis.com  *  http://www.technokratis.com/
> 
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message



--

Joe McGuckin

ViaNet Communications
994 San Antonio Road
Palo Alto, CA  94303

Phone: 650-969-2203
Cell:  650-207-0372
Fax:   650-969-2124


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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