Test Run with Alternative pmap Implementation

Ian Lepore ian at FreeBSD.org
Mon Nov 24 16:39:26 UTC 2014


On Mon, 2014-11-24 at 16:17 +0100, Zbigniew Bodek wrote:
> 2014-11-24 15:53 GMT+01:00 Ian Lepore <ian at freebsd.org>:
> > On Mon, 2014-11-24 at 13:27 +0100, Ulrich Grey wrote:
> >> Hello,
> >>
> >> as a starting point I have build an image (crochet, wandboard-quad) with
> >> the source tree from here (751adfd(master)):
> >>
> >> https://github.com/strejda/freebsd
> >>
> >> Then I build the kernel with new pmap and rebuild the whole systen.
> >> The system I used for the test run is entirely build on the
> >> wandboard-quad.
> >> [...]
> >
> > I've also been testing those pmap changes this weekend.  The only change
> > I made was to add options ARM_NEW_PMAP and NKPT2PG=64 to the kernel
> > config.  In particular, I did not change VM_MEMATTR_UNCACHEABLE (so that
> > in effect I'm also testing the recent busdma changes).
> >
> > I've had two wandboard quads doing builds continuously all weekend.  I
> > did the builds that have previously been reported as problems here --
> > buildworld -j10, ports libX11, plus a lot of other ports including much
> > of the full xorg (until it ran into some x86 device drivers and died),
> > some of libreoffice (it had a problem that wasn't related to crashing or
> > anything), python, bash, emacs, boost, rsync.
> >
> > After all that I just set both boards to continuously doing "rm
> > -rf /usr/obj/* ; make -j5 buildworld" in a loop, and they're still
> > running.  One is using an SSD drive and the other is using NFS.
> >
> > In all that building all weekend the only glitches I've seen are this:
> >
> >   warning: pmap_remove_pages called with non-current pmap
> >
> > that appeared twice on the board using NFS root.
> >
> > For anyone else wanting to test, there is currently one conflict when
> > applying the patches, in busdma_machdep-v6.c, because some of the
> > changes in the patch have already been applied.  Just resolve the
> > conflict by skipping that file / restoring the original unpatched file.
> >
> > This stuff is looking really good.  It wouldn't hurt at all if some more
> > people were testing it, especially on other hardware including rpi and
> > beaglebone.
> >
> 
> Hello,
> 
> This new pmap implementation looks VERY good indeed.
> However I was not able to boot this kernel on Armada XP and currently
> I don't have time to debug this.
> On the other hand after e-mails with crash reports on Wandbord I did
> similar (buildworld, port build) tests on AXP  and it didn't crash.
> In particular it survived 2 days of buildworld in loop.
> I wonder, what is the functional difference between AXP and other that
> prevents those crashes.
> 
> Ian, are you planning to replace the pmap with the new implementation?
> 

Eventually (and soon I hope), yes it will be committed, but not before
we've tested it on all the platforms we support (or at least all the
ones we can get someone to test, we can't wait forever for obscure
hardware nobody has anymore).

One quick thing that might be worth trying on AXP is the change
mentioned eariler... in arm/include/vm.h, in the line

  #define VM_MEMATTR_UNCACHEABLE VM_MEMATTR_NOCACHE

Replace VM_MEMATTR_NOCACHE with VM_MEMATTR_SO; that will cover up a lot
of bugs in old drivers.

-- Ian




More information about the freebsd-arm mailing list