hwpmc deadlock: processes hang on pmc-sx
Bruce Cran
bruce at cran.org.uk
Tue Nov 11 21:54:37 PST 2008
On Tue, 11 Nov 2008 20:49:41 -0800
Bruce Cran <bruce at cran.org.uk> wrote:
> I decided to try hwpmc today, but ran into a
> deadlock on the second run. I'm using a dual core laptop:
>
> CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-52 (1600.07-MHz
> K8-class CPU) Origin = "AuthenticAMD" Id = 0x40f82 Stepping = 2
> Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
> Features2=0x2001<SSE3,CX16>
> AMD
> Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
> AMD Features2=0x1f<LAHF,CMP,SVM,ExtAPIC,CR8> Cores per package: 2
> usable memory = 2071433216 (1975 MB)
> avail memory = 2001584128 (1908 MB)
> ACPI APIC Table: <PTLTD APIC >
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> cpu0 (BSP): APIC ID: 0
> cpu1 (AP): APIC ID: 1
>
> uname:
> FreeBSD tau.draftnet 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sun Nov 9
> 13:12:06 PST 2008
> brucec at tau.draftnet:/usr/obj/usr/src/sys/MYKERNEL_8 amd64
>
> I ran the command
> pmcstat -O test.stat -n 32768 -S instructions
>
> I found that I couldn't quit pmcstat and any attempt to run new
> processes hung too. The 'ps' listing in ddb
> contained the following:
>
> State wmesg cmd
> Ss pmc-sx sh
> S piperd cron
> S pmc-sx cron
> S pmc-sx gconf-d
> T+ pmc-sx dmesg
> S+ pmc-sx top
> SL pmcloop [hwpmc]
> S+ pmcctx pmcstat
>
> Are there any commands I should run at the debugger to
> collect more information if I trigger it again?
>
I seem to be able to trigger it quite reliably by running pmcstat
while "nc -l 20000 > /dev/null" is running in one terminal and "nc
127.0.0.1 20000 < /dev/zero" is running in another. It still happens
with a GENERIC kernel; I've tried to get some information about locks
from ddb but I clearly have some reading to do first, because it isn't
giving me any data.
--
Bruce Cran
More information about the freebsd-current
mailing list