From owner-freebsd-arch Fri Feb 7 20:38:55 2003 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D416937B401 for ; Fri, 7 Feb 2003 20:38:53 -0800 (PST) Received: from k6.locore.ca (k6.locore.ca [198.96.117.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id 07E1443F75 for ; Fri, 7 Feb 2003 20:38:53 -0800 (PST) (envelope-from jake@k6.locore.ca) Received: from k6.locore.ca (jake@localhost.locore.ca [127.0.0.1]) by k6.locore.ca (8.12.6/8.12.6) with ESMTP id h184enNk033107; Fri, 7 Feb 2003 23:40:49 -0500 (EST) (envelope-from jake@k6.locore.ca) Received: (from jake@localhost) by k6.locore.ca (8.12.6/8.12.6/Submit) id h184enOI033106; Fri, 7 Feb 2003 23:40:49 -0500 (EST) Date: Fri, 7 Feb 2003 23:40:49 -0500 From: Jake Burkholder To: Alfred Perlstein Cc: Jeff Roberson , arch@FreeBSD.ORG Subject: Re: New kernel allocation API Message-ID: <20030207234049.A32864@locore.ca> References: <20030208022722.GB88781@elvis.mu.org> <20030207221623.V72073-100000@mail.chesapeake.net> <20030208041659.GC88781@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20030208041659.GC88781@elvis.mu.org>; from bright@mu.org on Fri, Feb 07, 2003 at 08:16:59PM -0800 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Apparently, On Fri, Feb 07, 2003 at 08:16:59PM -0800, Alfred Perlstein said words to the effect of; > * Jeff Roberson [030207 19:17] wrote: > > > > > > On Fri, 7 Feb 2003, Alfred Perlstein wrote: > > > > > *snip* > > > > > > It seems that you've missed reading the original allocator or something, > > > there's a cheap way to do this that doesn't require too much overhead. > > > > It seems that you've missed reading my email. > > > > "The old code used a large fixed size array that represented all of > > kmem_map. This no longer works because the allocator can return pages > > that are outside of kmem map. It does this on alpha, ia64, and sparc64 to > > use direct mapped regions of address space for kernel memory." > > > > > Yes there is a space tradeoff, but it avoids this pmap_kextract > > > nonsense and multiple pointer dereferences. > > > > It's not so much nonsense as it is a solution. > > Doh, I guess I should be paying more attention, sorry for that. > > What advantage do you get from using direct mapped pages? Why not > alias/map them into kmem map? I know you'd pay a penalty for the > vm overhead, but you'd gain back the fixed array trick. I'm probably > missing something? It lets you use the largest page size supported by the tlb (256 megs for ia64 (!)), and it doesn't take a tlb shootdown to add or remove a mapping because they never change. Jake To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message