From owner-freebsd-arm@FreeBSD.ORG Sat Mar 22 13:20:06 2014 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B7785780 for ; Sat, 22 Mar 2014 13:20:06 +0000 (UTC) Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8A9A6C8E for ; Sat, 22 Mar 2014 13:20:06 +0000 (UTC) Received: from c-24-8-230-52.hsd1.co.comcast.net ([24.8.230.52] helo=damnhippie.dyndns.org) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1WRLqG-0008G2-Vh; Sat, 22 Mar 2014 13:20:05 +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 s2MDK1Gh073284; Sat, 22 Mar 2014 07:20:01 -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+m/VtzIUopcIJJ6znVnEov 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> <1395149146.1149.586.camel@revolution.hippie.lan> <1395254911.80941.9.camel@revolution.hippie.lan> <1395320561.80941.13.camel@revolution.hippie.lan> Content-Type: text/plain; charset="us-ascii" Date: Sat, 22 Mar 2014 07:20:01 -0600 Message-ID: <1395494401.81853.34.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: Sat, 22 Mar 2014 13:20:06 -0000 On Fri, 2014-03-21 at 07:20 +0100, Wojciech Macek wrote: > No, changing flushD to flushID did not make any difference, but I think it > should be there - D-only flushing might not be sufficient. > Olivier reminded me right after I posted that: last week I made a change to cpufunc.c that makes flushD and flushID the same. So of course it made no difference. :) It really should be flushID though, in case that ever changes. You didn't say whether you have that change, which was r263251. > Currently, I'm running pmap_kernel_internal attached below. It is doing > unconditional flushID at the end, just like the old comment was saying :) > SMP seems to be stable. > That seems to say that somehow there is a valid TLB entry even though the old pte for that entry is zero. That means there's a problem somewhere else in the code, but I don't see it. It looks to me like we do a TLB flush everywhere that we zero out a pte. You said without the unconditional flush it panics at startup. Where in startup? Early, or after init is launched or what? Where does the panic backtrace to? If we've got some other pte/tlb maintenance problem, I'd hate to hide it with this unconditional flush and have it appear as some other problem later that will be even harder to track down. -- Ian