Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Some alpha problems in current

On Sat, 12 Jan 2008, Andrew Doran wrote:

I made some changes to the pmap that could help the situation (rev 1.230 of
arch/alpha/alpha/pmap.c). Can you try updating and see if the problem still
persists? If it happens again, it would be really useful if you could get
a backtrace from all the CPUs. For example:

mach cpu 0
mach cpu 1
mach cpu 2

I finally got around to trying out a more current kernel on one my MP alphas, and have problems with hangs. I can't get tracebacks from the other CPU - most likely because it is spinning on a lock or mutex with interrupts disabled and the IPI to suspend it can not be processed. A couple of times the halted CPU appears to be in _kernel_lock(). The last one appears to be in mutex_vector_enter(), called from pmap_tlb_shootdown(). I have rev 1.231 of pmap.c.

  In the past, I've been able to run a LOCKDEBUG kernel and get some kind
of idea what locks each CPU had.  Attempting to run a LOCKDEBUG kernel now
just locks up the machine hard shortly after the kernel is entered on boot. I haven't even been able to halt it - I can only reset it or cycle


continuing CPU 0
CP - RESTORE_TERM routine to be called
panic: user requested console halt
Stopped in pid 0.25 (system) at netbsd:cpu_Debugger+0x4: ret zero,(ra
db{0}> t
cpu_Debugger() at netbsd:cpu_Debugger+0x4
panic() at netbsd:panic+0x1c8
console_restart() at netbsd:console_restart+0x78
XentRestart() at netbsd:XentRestart+0x90
--- console restart (from ipl 0) ---
mutex_vector_enter() at netbsd:mutex_vector_enter+0x320
pmap_tlb_shootdown() at netbsd:pmap_tlb_shootdown+0xc0
pmap_kenter_pa() at netbsd:pmap_kenter_pa+0x100
uvm_pagermapin() at netbsd:uvm_pagermapin+0x194
genfs_gop_write() at netbsd:genfs_gop_write+0x48
genfs_do_putpages() at netbsd:genfs_do_putpages+0x73c
ffs_full_fsync() at netbsd:ffs_full_fsync+0xd4
ffs_fsync() at netbsd:ffs_fsync+0x6c
VOP_FSYNC() at netbsd:VOP_FSYNC+0xcc
sched_sync() at netbsd:sched_sync+0x218
exception_return() at netbsd:exception_return
--- root of call graph ---

$ ident /netbsd-test-mp|grep pmap
     $NetBSD: pmap.c,v 1.231 2008/01/15 18:48:51 ad Exp $

Michael L. Hitch                        mhitch%NetBSD.org@localhost

Home | Main Index | Thread Index | Old Index