NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/52769: Deadlock in ffs?
On 11/28/17 15:00, martin%NetBSD.org@localhost wrote:
So I dropped into ddb and got:
Stopped in pid 0.2 (system) at netbsd:breakpoint+0x5: leave
db{0}> ps
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
29181 1 3 0 0 ffffe403e1d3c200 reboot tstile
3481 1 3 0 80 ffffe40368d5e080 tcsh ttyraw
18588 1 3 2 1000000 ffffe4040092db80 cvs biolock
14652 1 3 3 80 ffffe403be513640 sh wait
13756 1 3 1 80 ffffe40397f5f460 ssh-agent select
7734 1 3 0 80 ffffe4038e491460 tcsh pause
22820 1 3 5 1000000 ffffe403ccf032c0 cvs biolock
db{0}> bt /a 0xffffe4040092db80
trace: pid 18588 lid 1 at 0xffffe4011e02b920
sleepq_block() at netbsd:sleepq_block+0x97
cv_timedwait() at netbsd:cv_timedwait+0xa9
bbusy() at netbsd:bbusy+0x7b
getblk() at netbsd:getblk+0x5a
bio_doread() at netbsd:bio_doread+0x1d
bread() at netbsd:bread+0x1a
ffs_update.part.3() at netbsd:ffs_update.part.3+0x112
ffs_truncate() at netbsd:ffs_truncate+0xd91
ufs_truncate_retry() at netbsd:ufs_truncate_retry+0x79
ufs_inactive() at netbsd:ufs_inactive+0x1ac
VOP_INACTIVE() at netbsd:VOP_INACTIVE+0x33
vrelel() at netbsd:vrelel+0x168
ufs_remove() at netbsd:ufs_remove+0xab
VOP_REMOVE() at netbsd:VOP_REMOVE+0x37
do_sys_unlinkat.isra.5() at netbsd:do_sys_unlinkat.isra.5+0x1eb
syscall() at netbsd:syscall+0x1bc
--- syscall (number 10) ---
7a93d4312a7a:
and:
db{0}> bt /a ffffe403ccf032c0
trace: pid 22820 lid 1 at 0xffffe4011de34820
sleepq_block() at netbsd:sleepq_block+0x97
cv_timedwait() at netbsd:cv_timedwait+0xa9
bbusy() at netbsd:bbusy+0x7b
getblk() at netbsd:getblk+0x5a
bio_doread() at netbsd:bio_doread+0x1d
bread() at netbsd:bread+0x1a
ffs_alloccg() at netbsd:ffs_alloccg+0xcc
ffs_hashalloc() at netbsd:ffs_hashalloc+0x28
ffs_alloc() at netbsd:ffs_alloc+0x11e
ffs_balloc() at netbsd:ffs_balloc+0x570
ufs_mkdir() at netbsd:ufs_mkdir+0x22b
VOP_MKDIR() at netbsd:VOP_MKDIR+0x3b
do_sys_mkdirat.isra.7.constprop.12() at netbsd:do_sys_mkdirat.isra.7.constprop.1
2+0x167
syscall() at netbsd:syscall+0x1bc
--- syscall (number 136) ---
78c2024a686a:
This reminds me of the pool page problem on erlite where not all the
memory was
available as direct map (and therefore PMAP_MAP_POOLPAGEable) meaning that
in low memory situations the pool wouldn't grow. A direct map page never
became
available.
I fixed this by making all erlite memory available as direct map via xkseg
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/mips/mips/pmap_machdep.c.diff?r1=1.20&r2=1.21
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/mips/include/vmparam.h.diff?r1=1.59&r2=1.60
Nick
Home |
Main Index |
Thread Index |
Old Index