From owner-freebsd-questions@FreeBSD.ORG Wed Nov 14 16:21:19 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27CC616A468 for ; Wed, 14 Nov 2007 16:21:19 +0000 (UTC) (envelope-from wundram@beenic.net) Received: from mail.beenic.net (mail.beenic.net [83.246.72.40]) by mx1.freebsd.org (Postfix) with ESMTP id DB60613C508 for ; Wed, 14 Nov 2007 16:21:18 +0000 (UTC) (envelope-from wundram@beenic.net) Received: from [192.168.1.37] (a89-182-174-138.net-htp.de [89.182.174.138]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.beenic.net (Postfix) with ESMTP id F12ACA44529 for ; Wed, 14 Nov 2007 17:15:14 +0100 (CET) From: "Heiko Wundram (Beenic)" Organization: Beenic Networks GmbH To: freebsd-questions@freebsd.org Date: Wed, 14 Nov 2007 17:22:07 +0100 User-Agent: KMail/1.9.7 References: <473A8BC4.6000005@charter.net> <473B1C95.70203@charter.net> In-Reply-To: <473B1C95.70203@charter.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200711141722.07732.wundram@beenic.net> Subject: Re: FreeBSD cache memory allocation X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Nov 2007 16:21:19 -0000 Am Mittwoch, 14. November 2007 17:04:37 schrieb icantthinkofone: > Ivan Voras wrote: > > icantthinkofone wrote: > >> Someone I can't stand said this about FreeBSD. Though I know C, I don't > >> know anything about it and would love to respond. > >> [QUOTE]The kernel is really lacking some features. They need a method to > >> set precise type of memory cache but BSD doesn't provide way to specify > >> memory cache. > >> > >> For that reason MS has the beautiful > >> MmAllocateContigousMemorySpecifyCache()[/QUOTE] > > > > Well, I know there's contigmalloc(9) in FreeBSD but you will get a > > better answer if you ask this question on freebsd-hackers@. > > That's what I thought but not sure if they were equivalent. > I'm not signed up over there but I will now. Thanks. That's not entirely true. MmAllocateContiguousMemorySpecifyCache does something that's currently not (easily) possible with FreeBSD, namely set up an MTRR entry (i.e. a specific caching state) specifically for the portion of contiguous memory being allocated (normally, the driver wants to set the memory to uncached if using this call). This is something that the NVIDIA driver development guys have wanted to have for a long time (for performance reasons) in the FreeBSD kernel, and there's someone developing a patch to implement this (AFAICT from reading some websites), but it doesn't seem like it's finished so far. Read up on the NVIDIA requirements to develop an accelerated graphics driver on AMD64 to get more details on this (there's a "workaround" on i386, but that depends on the specific system's pre-setup MTRR records from the BIOS; this one of the reasons there's an accelerated graphics driver for i386 and not for AMD64). -- Heiko Wundram Product & Application Development