From owner-freebsd-arm@FreeBSD.ORG Tue Mar 18 13:32:36 2014 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 23A74892 for ; Tue, 18 Mar 2014 13:32:36 +0000 (UTC) Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EB94C129 for ; Tue, 18 Mar 2014 13:32:35 +0000 (UTC) Received: from c-24-8-230-52.hsd1.co.comcast.net ([24.8.230.52] helo=damnhippie.dyndns.org) by mho-01-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1WPu85-0002LT-CZ; Tue, 18 Mar 2014 13:32:29 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id s2IDWRLO068507; Tue, 18 Mar 2014 07:32:27 -0600 (MDT) (envelope-from ian@FreeBSD.org) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 24.8.230.52 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1+U1qKdD9vRpFg6QSwsM7Oi Subject: Re: arm SMP on Cortex-A15 From: Ian Lepore To: Wojciech Macek In-Reply-To: References: <20131220125638.GA5132@mail.bsdpad.com> <20131222092913.GA89153@mail.bsdpad.com> <20131222123636.GA61193@ci0.org> Content-Type: text/plain; charset="us-ascii" Date: Tue, 18 Mar 2014 07:32:26 -0600 Message-ID: <1395149546.1149.589.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: freebsd-arm@FreeBSD.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Mar 2014 13:32:36 -0000 On Mon, 2014-03-17 at 09:29 +0100, Wojciech Macek wrote: > Hi, > > Finally I've found some time to continue SMP hacking. It seems that I > isolated the tlb/pmam failures and developed two simple patches that help. > There are still some pmap changes and TEX remap left, but I don't want to > use them now. > https://drive.google.com/folderview?id=0B-7yTLrPxaWtSzZPUGgtM3pnUjg&usp=sharing > * 01 - ensure that TTB is set before TLB invalidation and flush BTB to > comply the specs > * 02 - add missing TLB invalidations to pmap and fix invalidation order > > I chose buildworld -j4 as a stresstest, and run it on Arndale (USB rootfs) > and a different 4-core a15 chip (SATA rootfs). On both setups test passed > and was significantly faster than the one with previous patchset. > > I'd like to submit these changes to FreeBSD tree (with some help from our > local committers), so any comments and testing are really appreciated. > > Best regards, > Wojtek BTW, on line 1561 of pmap-v6.c there's an #ifdef DEBUG. If you change that to #if 1 you'll find that sometimes the problem that code is looking for happens: fixup: pmap 0xc72c10bc, va 0x203f7000, ftype 1 - nothing to do! fixup: l2 0xc781e0c4, l2b 0xc781e0ec, ptep 0xc76c83dc, pl1pd 0xe1ce680c fixup: pte 0x11a2c67e, l1pd 0x670c8021, last code 0x0 I just noticed this last night and haven't dug into it yet. I'm running on a quad-core cortex-a9 (imx6), BTW. -- Ian