Date: Sat, 26 May 2012 15:21:12 +0900 From: "Gen O." <annona2@gmail.com> To: freebsd-stable@freebsd.org Subject: Re: [stable 9] broken hwpstate calls Message-ID: <20120526152112.42b20e45.annona2@gmail.com> In-Reply-To: <4FBFE624.1020208@FreeBSD.org> References: <1337319129.2915.4.camel@powernoodle-l7> <4FB6765A.2050307@FreeBSD.org> <1337710214.2916.8.camel@powernoodle-l7.corp.yahoo.com> <20120525163653.b61a08e2.lists@yamagi.org> <4FBFA9A9.7020806@FreeBSD.org> <4FBFBD39.7000105@FreeBSD.org> <4FBFDFFB.9020501@FreeBSD.org> <4FBFE624.1020208@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I suprised that followings , cited from AMD BKDG(42301 Rev 3.06 - January 25, 2012) > 2.5.2.1.4 > Core P-state Visibility > (snip) > If a compute unit is in a boosted P-state, MSRC001_0063[CurPstate] > reads back as 0. ^^^^^^^^^^^^^ if in a boosted P-state, MSRC001_0063 "reads back as 0". so here is ugly patch ;-) --- hwpstate.c.orig 2012-05-26 15:06:06.000000000 +0900 +++ hwpstate.c 2012-05-26 15:07:50.000000000 +0900 @@ -196,7 +196,7 @@ msr = rdmsr(MSR_AMD_10H_11H_STATUS); HWPSTATE_DEBUG(dev, "result P%d-state on cpu%d\n", (int)msr, PCPU_GET(cpuid)); - if (msr != id) { + if (msr != id && msr != 0) { HWPSTATE_DEBUG(dev, "error: loop is not enough.\n"); error = ENXIO; } but this doesn't reflect that the cpu frequency is equal to sysctl value. So, disabling the boost and setting the p-state is an answer. And when setting the max freq from sysctl, enable the boost is also. -- Gen O.<annona2@gmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120526152112.42b20e45.annona2>