Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2013 10:02:15 -0800
From:      Justin Hibbits <jhibbits@freebsd.org>
To:        Adam Martin <adamartin@freebsd.org>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: CFT: PMU-based speed changes
Message-ID:  <CAHSQbTCN4e5njDKW-UXn_VMw-0jmvft5hV7JJshnYXoAPcX19A@mail.gmail.com>
In-Reply-To: <CAJTQnqagOMer8Pgs5NqjXg5Q6YyYR6ECcx3V=k2GMfwRm03a4A@mail.gmail.com>
References:  <CAHSQbTAjw5%2BEVw2H5NQTfKLR-66HoEEqEV=Skhgg%2BhBMdTzEEw@mail.gmail.com> <CAJTQnqagOMer8Pgs5NqjXg5Q6YyYR6ECcx3V=k2GMfwRm03a4A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Adam,

On Thu, Feb 21, 2013 at 9:52 AM, Adam Martin <adamartin@freebsd.org> wrote:

> Justin,
>
> On Feb 21, 2013 8:56 AM, "Justin Hibbits" <jhibbits@freebsd.org> wrote:
> >
> > After over a year of off-and-on work, lots of frustration, and help from
> > quite a few people, I present to you all for testing, PMU speed changes.
> >  You can find it in the projects/pmac_pmu branch, which is branched from
> > -CURRENT back in December/January.  Anybody with a Titanium Powerbook,
> and
> > some of the early Aluminum books, should now be able to run their
> machines
> > at full speed using powerd, or sysctl dev.cpu.0.freq.  I tested this on
> my
> > 1GHz TiBook (last generation TiBook), using md5 on a core dump, and saw a
> > nice performance boost.
>
> Will an 867MHz 12" G4 be useful for testing this?  It's MPC 7455, iirc.
>

I think your 867MHz would work fine.  I think last time we looked, it boots
to FreeBSD at 500MHz, so this branch should now Just Work(TM) for you.  The
tell is if the 'min-clock-frequency' property exists in open firmware for
the CPU.


> > That branch also has PMU-based sleep code in place, but it does not work
> > (don't try to set sysctl dev.pmu.0.sleep, your machine will go
> catatonic).
>
> Ideas on what makes it go catatonic yet?  Is it just the TiBook, or
> AlBooks too?
>

I think it's the order in which the devices are suspended.  I think the
primary busses are being suspended too early, so the PMU isn't being
suspended properly.  Looking at pmu_sleep() in sys/powerpc/powermac/pmu.c
should give you an idea of how it should work (just trace all the
device_suspend entries in sys/powerpc).  In fact, looking at the code,
simply removing the uninorth_chip_resume DEVMETHOD entry might be
sufficient.


> --
> ADAM David Alan Martin
>

- Justin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTCN4e5njDKW-UXn_VMw-0jmvft5hV7JJshnYXoAPcX19A>