From owner-freebsd-mips@FreeBSD.ORG Mon Dec 6 10:26:01 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75D1C106566C; Mon, 6 Dec 2010 10:26:01 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id D77CE8FC15; Mon, 6 Dec 2010 10:26:00 +0000 (UTC) Received: by wyf19 with SMTP id 19so12042872wyf.13 for ; Mon, 06 Dec 2010 02:25:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=4Gwvv2n9PkeyUzRYliD5/LEFRHMkFNFFzr5850pCmXc=; b=fceA7ZdJGKXMl49O/St2jXMhfEZLBldIb04F0EjzDzMrxsCQHfwQQK+Ad53xvKSbS0 kWEXMYzldzhpjoxmp6sJfnGLYOGHOr1CJ9sjvozzxfkSaOxVCUkirRdyng9AZLm8L1u7 gTqe7rUXw3fkTnmvPMtf2yNmEherKR6awbmQw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=NqLjI5tRzM0hAKaKvmytZyk+42UYBhaRP3wOvdEsQPXft+tRt3tqZr1foCokyZY+D2 pQ+a0MHPvWB8/eTQ5adAPrnZeUTEseW5/S8+DjHBOC2+AqzZZEJ3K/A3O8cqr8rz6KW9 UgDxP5s1nZN4GdegyFzRHArAp9mfOFcPlWZzI= MIME-Version: 1.0 Received: by 10.227.128.211 with SMTP id l19mr5333905wbs.73.1291631159838; Mon, 06 Dec 2010 02:25:59 -0800 (PST) Received: by 10.227.135.84 with HTTP; Mon, 6 Dec 2010 02:25:59 -0800 (PST) In-Reply-To: References: Date: Mon, 6 Dec 2010 15:55:59 +0530 Message-ID: From: "Jayachandran C." To: Juli Mallett Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Alan Cox , freebsd-mips@freebsd.org Subject: Re: uma_small_alloc from direct mapped memory. X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Dec 2010 10:26:01 -0000 On Mon, Dec 6, 2010 at 3:24 PM, Juli Mallett wrote: > Hi JC, > > On Sun, Dec 5, 2010 at 22:39, Jayachandran C. = wrote: >> The attached patch uses the mechanism used to allocate page table >> pages for UMA small allocations too. =A0This will make sure that all the >> small UMA allocations comes from KSEG0 pages in 32 bit and XKPHYS in >> 64bit. >> >> This reduces TLB misses in kernel code significantly, and can give >> major performance advantage for applications that spent a lot of time >> in kernel. >> >> Please let me know your comments. > > It looks reasonable to me. =A0I've gone over the other unmerged changes > related to the direct map in my Octeon branch and wonder if you would > like to handle other expansions of use of the direct map, particularly > on n64: > > o) Using the direct map for sendfile. =A0(Making sf_buf_alloc and > sf_buf_free no-ops, like on sun4v, I think, rather than the whole > freelist approach of e.g. sparc64, but I don't remember the details of > why one implementation vs. the other at the moment.) > o) Making uiomove_fromphys use XKPHYS on n64. =A0(I think that this will > help our pipe performance a non-trivial amount, but it has been some > time since I tested it.) > > If not I will try to make those changes in the near future, but I > thought that (1) perhaps you had a reason for not making those changes > with your n64 work in -CURRENT (2) since you're making related > changes, you might like to do so, and also might be able to quantify > what you feel the overall affect on performance to be. I was planning to merge these changes. Now that the XLR platform code changes and 8-STABLE merge is done - I hope to get some time to do the rest of the n64 work. My rough todo list is : - 64bit PTEs which will give >4GB phys address, - 32 bit compat in n64 (merge from /user/jmallett/octeon) - Complete merge from /user/jmallett/octeon - UIO, sf buf - DDB/KDB fixes for n32/n64. - 16K pagesize (there were some patches from SoC, but it crashed for me) JC.