From owner-freebsd-arm@FreeBSD.ORG Tue Mar 23 12:56:39 2010 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C10AF1065673; Tue, 23 Mar 2010 12:56:39 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (casselton.net [63.165.140.2]) by mx1.freebsd.org (Postfix) with ESMTP id 832868FC0C; Tue, 23 Mar 2010 12:56:39 +0000 (UTC) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.14.3/8.14.3) with ESMTP id o2NCubfe018756; Tue, 23 Mar 2010 07:56:38 -0500 (CDT) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1269348998; bh=sXCjpl2v7/4QczOEjwr7i5PUduTN0MT7d4+drWvg/uc=; h=Date:From:Message-Id:To:Subject:Cc:In-Reply-To; b=TZWjl8x67eGaRtjJUC+4eFTcDVH3bIn4LTeUJ84ZQHMhdG5YvQqf+YPKotJ/Uonuy KG6EzvQTIoJ31dG3FmgOe4H61R7590RwOgbVgW8hWcB7qpQ+7YyoLED+a5aOZxfw1r JL4E/v4E4aSYkDocw/uQPf9vl0aEVcc2m36c6bns= Received: (from tinguely@localhost) by casselton.net (8.14.3/8.14.2/Submit) id o2NCubIw018755; Tue, 23 Mar 2010 07:56:37 -0500 (CDT) (envelope-from tinguely) Date: Tue, 23 Mar 2010 07:56:37 -0500 (CDT) From: Mark Tinguely Message-Id: <201003231256.o2NCubIw018755@casselton.net> To: gjb@semihalf.com, tinguely@casselton.net In-Reply-To: <4BA8A284.1060508@semihalf.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.3.2 (casselton.net [127.0.0.1]); Tue, 23 Mar 2010 07:56:38 -0500 (CDT) Cc: freebsd-arm@freebsd.org, cognet@freebsd.org Subject: Re: Performance of SheevaPlug on 8-stable X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2010 12:56:39 -0000 > From gjb@semihalf.com Tue Mar 23 06:14:23 2010 > X-Virus-Scanned: by amavisd-new at semihalf.com > Date: Tue, 23 Mar 2010 12:14:12 +0100 > From: Grzegorz Bernacki On Tue, 23 Mar 2010 12:14:1, Grzegorz Bernacki wrote: > Patch I've send is not a solution for this problem. I just send it to show > that excluding executable pages from fix_cache mechanism fixes the problem > and as I wrote in this mail, we need to handle executable pages with writable > kernel mapping differently. > I think that Mark is right. Kernel mapping should be already flushed out (we > can just do it again to make sure). I am not sure it there is any chance that > user mapping can have some cached data. > > grzesiek This pmap_fix_cache happens at (un)mapping time, if we had to, we could modify the DMA sync code too. I am thinking on the PVF_EXEC POST_READ sync to invalidate both the kernel and user cache. For example, my experimental busdma_machdep.c could keep vm_page entries for the non-bounced cache; it also could be computed with a pmap_extract. The bounce list could add the vm_page entry or compute it simply from the PA. --Mark.