From owner-freebsd-stable@FreeBSD.ORG Wed Aug 6 22:12:09 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E7901065675 for ; Wed, 6 Aug 2008 22:12:09 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 2E74B8FC16 for ; Wed, 6 Aug 2008 22:12:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [IPv6:2001:470:1f11:75:2a0:d2ff:fe18:8b38]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m76MC1LK007912; Wed, 6 Aug 2008 18:12:01 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Ulrich Spoerlein Date: Wed, 6 Aug 2008 18:11:28 -0400 User-Agent: KMail/1.9.7 References: <20080730113449.GD407@cdnetworks.co.kr> <200808041607.56160.jhb@freebsd.org> <20080806200643.GA1554@roadrunner.spoerlein.net> In-Reply-To: <20080806200643.GA1554@roadrunner.spoerlein.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200808061811.28200.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:2001:470:1f11:75::1]); Wed, 06 Aug 2008 18:12:01 -0400 (EDT) X-Virus-Scanned: ClamAV 0.93.1/7962/Wed Aug 6 17:44:32 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-stable@freebsd.org Subject: Re: cpufreq(4) panic on RELENG_7 (was: Re: Call for bfe(4) testers.) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Aug 2008 22:12:09 -0000 On Wednesday 06 August 2008 04:06:43 pm Ulrich Spoerlein wrote: > On Mon, 04.08.2008 at 16:07:55 -0400, John Baldwin wrote: > > On Monday 04 August 2008 02:29:19 pm Ulrich Spoerlein wrote: > > > Fatal trap 12: page fault while in kernel mode > > > cpuid = 0; apic id = 00 > > > fault virtual address = 0x38 > > > fault code = supervisor read, page not present > > > instruction pointer = 0x20:0xc058ec16 > > > stack pointer = 0x28:0xfb8b8ac8 > > > frame pointer = 0x28:0xfb8b8ac8 > > > code segment = base 0x0, limit 0xfffff, type 0x1b > > > = DPL 0, pres 1, def32 1, gran 1 > > > processor eflags = interrupt enabled, resume, IOPL = 0 > > > current process = 1176 (powerd) > > > db:0:kdb.enter.default> show pcpu > > > cpuid = 0 > > > curthread = 0xc4ec0aa0: pid 1176 "powerd" > > > curpcb = 0xfb8b8d90 > > > fpcurthread = none > > > idlethread = 0xc3f80cc0: pid 10 "idle: cpu0" > > > APIC ID = 0 > > > currentldt = 0x50 > > > db:0:kdb.enter.default> bt > > > Tracing pid 1176 tid 100103 td 0xc4ec0aa0 > > > device_is_attached(0,c87e6b40,fb8b8afc,0,101,...) at > > > device_is_attached+0x6 > > > cf_set_method(c420b600,c87e6b40,64,fb8b8ba4,c87e33b4,...) at > > > > cf_set_method+0x6a3 > > > > > cpufreq_curr_sysctl(c420d840,c4207000,0,fb8b8ba4,fb8b8ba4,...) at > > > > cpufreq_curr_sysctl+0x232 > > > > > sysctl_root(fb8b8ba4,4,1,c4ec0aa0,c4501d38,...) at sysctl_root+0x137 > > > userland_sysctl(c4ec0aa0,fb8b8c14,4,0,0,...) at userland_sysctl+0x151 > > > __sysctl(c4ec0aa0,fb8b8cfc,18,fb8b8ca0,46,...) at __sysctl+0xec > > > syscall(fb8b8d38) at syscall+0x345 > > > Xint0x80_syscall() at Xint0x80_syscall+0x20 > > > --- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x28161bd3, esp = > > > > 0xbfbfe8cc, ebp = 0xbfbfe8f8 --- > > > > > db:0:kdb.enter.default> capture off > > > > > > Seems like I caught RELENG_7 during a bad time. Will update again. > > > > What cpufreq drivers do you have loaded and attached? This patch might > > work around the issue, but I suspect there is a bug in one of the cpufreq > > drivers. > > Hi John, > > sorry for the slow update, please bear with me. > > This is on a first generation Pentium-M (Banias core) with EST (and also > p4tcc attached, as I just discovered): > > CPU: Intel(R) Pentium(R) M processor 1.50GHz (1495.15-MHz 686-class CPU) > Origin = "GenuineIntel" Id = 0x6d6 Stepping = 6 > > Features=0xafe9f9bfT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE> Features2=0x180 > .. > cpu0: on acpi0 > est0: on cpu0 > p4tcc0: on cpu0 > > > dev.cpu.0.%desc: ACPI CPU > dev.cpu.0.%driver: cpu > dev.cpu.0.%location: handle=\_PR_.CPU0 > dev.cpu.0.%pnpinfo: _HID=none _UID=0 > dev.cpu.0.%parent: acpi0 > dev.cpu.0.freq: 300 > dev.cpu.0.freq_levels: 1500/-1 1312/-1 1200/-1 1050/-1 1000/-1 875/-1 > 800/-1 700/-1 600/-1 525/-1 450/-1 375/-1 300/-1 225/-1 150/-1 75/-1 > dev.cpu.0.cx_supported: C1/1 C2/1 C3/85 C4/185 > dev.cpu.0.cx_lowest: C1 > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% 0.00% > dev.acpi_perf.0.%parent: cpu0 > dev.est.0.%desc: Enhanced SpeedStep Frequency Control > dev.est.0.%driver: est > dev.est.0.%parent: cpu0 > dev.est.0.freq_settings: 1500/-1 1200/-1 1000/-1 800/-1 600/-1 > dev.cpufreq.0.%driver: cpufreq > dev.cpufreq.0.%parent: cpu0 > dev.p4tcc.0.%desc: CPU Frequency Thermal Control > dev.p4tcc.0.%driver: p4tcc > dev.p4tcc.0.%parent: cpu0 > dev.p4tcc.0.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1 3750/-1 > 2500/-1 1250/-1 > > a kernel from 2008-06-13 is the last known working one. I just had the > same crash with a kernel from sources at 2008-07-01 and am new > recompiling for 2008-06-24. > > Your MFC of est.c rev 180044 might be the problem, I'll try a backout > once I confirmed that the 2008-06-24 kernel is running stable. I doubt this will cause it. > > Index: kern_cpu.c > > =================================================================== > > RCS file: /usr/cvs/src/sys/kern/kern_cpu.c,v > > retrieving revision 1.27.2.2 > > diff -u -r1.27.2.2 kern_cpu.c > > --- kern_cpu.c 9 May 2008 19:02:10 -0000 1.27.2.2 > > +++ kern_cpu.c 4 Aug 2008 20:07:41 -0000 > > @@ -329,6 +329,8 @@ > > /* Next, set any/all relative frequencies via their drivers. */ > > for (i = 0; i < level->rel_count; i++) { > > set = &level->rel_set[i]; > > + if (set->dev == NULL) > > + continue; > > if (!device_is_attached(set->dev)) { > > error = ENXIO; > > goto out; > > Will try that one too, hopefully tomorrow. > > Will also disable p4tcc. This was not attaching during the RELENG_6 > times but leads to ridiculous rates of 75 MHz. If p4tcc attaching is new, that might point to the culprit. A good quick test would be to disable individual cpufreq drivers to find out which one causes the panic. -- John Baldwin