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>