From owner-freebsd-hackers Mon Jan 27 10:12:59 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id KAA17977 for hackers-outgoing; Mon, 27 Jan 1997 10:12:59 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id KAA17971 for ; Mon, 27 Jan 1997 10:12:54 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id KAA05820; Mon, 27 Jan 1997 10:53:52 -0700 From: Terry Lambert Message-Id: <199701271753.KAA05820@phaeton.artisoft.com> Subject: Re: SLAB stuff, and applications to current net code (fwd) To: alan@cymru.net (Alan Cox) Date: Mon, 27 Jan 1997 10:53:52 -0700 (MST) Cc: julian@whistle.com, proff@suburbia.net, dg@root.com, hackers@freebsd.org, alan.cox@linux.org In-Reply-To: <199701271008.KAA26279@snowcrash.cymru.net> from "Alan Cox" at Jan 27, 97 10:08:09 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > The right answer in current literature is undoubtedly a SLAB allocator and > that is where we are going at the moment. > > Alan Have you read Vahalia, 12.9, regarding per context page pooling? You can build a SLAB allocator on top of that, and the 12.10 analysis about SLAB vs. page pooling incorrectly bias toward SLAB because the page pooling had zone implemented on top of it (and zone is worse than SLAB). You will probably want to zone discard between contexts to allow freeing in one context after allocation in another. This is covered (a little) in "UNIX for Modern Architectures" for the SMP case, but applies to allocation at interrupt time and freeing at run time, and vice versa. This is important when you note that you could consider the two as seperate contexts, and you become worried about disabling interrupts during allocation (and potentially during page reclaimation to satisfy the request in the "BLOCK_OK" case). This is an issue of concurrency of operation, even in the UP case, if you do that. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.