Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2014 07:32:26 -0600
From:      Ian Lepore <ian@FreeBSD.org>
To:        Wojciech Macek <wma@semihalf.com>
Cc:        freebsd-arm@FreeBSD.org
Subject:   Re: arm SMP on Cortex-A15
Message-ID:  <1395149546.1149.589.camel@revolution.hippie.lan>
In-Reply-To: <CANsEV8fWvUkFHi8DP6Nr807RwPDB1iZrO39fpfa44qOkJPidZA@mail.gmail.com>
References:  <CANsEV8euHTsfviiCMP_aet3qYiK2T-oK%2B-37eay7zAPH2S2vaA@mail.gmail.com> <20131220125638.GA5132@mail.bsdpad.com> <20131222092913.GA89153@mail.bsdpad.com> <CANsEV8fSoygoSUyQqKoEQ7tRxjqDOwrPD8dU7O2V2PXRj35j4A@mail.gmail.com> <20131222123636.GA61193@ci0.org> <CANsEV8fWvUkFHi8DP6Nr807RwPDB1iZrO39fpfa44qOkJPidZA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1395149546.1149.589.camel>