Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jun 2010 13:30:30 +0400
From:      pluknet <pluknet@gmail.com>
To:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   mfiutil create .. leads to deadlock in 6-STABLE
Message-ID:  <AANLkTil5tr99tq7TcmrJ_8M3-6qGJGVEjLX_5I3Wmq26@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
hi,

I faced w/ subj. issue on IBM ServeRAID M5015 (LSISAS2108 SAS2.0 6Gbps).

As I can see, lockup is caused by sleeping on sx lock after Giant was acquired.
Can r160217 help me or am I go the wrong way?
from r160217: "Use a sleep mutex instead of an sx lock for the kernel
environment."

after `# mfiutil create raid5 8,9,10,11,12,13`

db> bt 924
Tracing pid 924 tid 100156 td 0xc6fcb340
sched_switch(c6fcb340,0,2) at sched_switch+0x15b
mi_switch(2,0,c0ac4020,0,c09b478a,...) at mi_switch+0x270
critical_exit(1,c6fcb340,c677d88a,b,a,...) at critical_exit+0x8b
intr_execute_handlers(c67ae678,ed2f16a8,10,ed2f1838,c09141e3,...) at
intr_execute_handlers+0x129
lapic_handle_intr(36) at lapic_handle_intr+0x2e
Xapic_isr1() at Xapic_isr1+0x33
--- interrupt, eip = 0xc06d2c2f, esp = 0xed2f16ec, ebp = 0xed2f1838 ---
vsscanf(c677d880,c09b523b,ed2f1864,ed2f1944,c06cd5c9,...) at vsscanf+0x123
sscanf(c677d880,c09b523b,ed2f1918,ed2f1874,ed2f18f8,...) at sscanf+0x12
res_find(ed2f19c8,0,c0993cb1,ed2f19dc,c09b5c62,0,0,0,0,0,0,ed2f19cc)
at res_find+0x225
resource_find(ed2f19c8,0,c0993cb1,ed2f19dc,c09b5c62,0,0,0,0,0,0,ed2f19cc)
at resource_find+0x3b
resource_int_value(c0993cb1,0,c09b5c62,c6f5843c) at resource_int_value+0x32
device_probe_child(c695d200,c6f58400) at device_probe_child+0xc5
device_probe_and_attach(c6f58400) at device_probe_and_attach+0x7d
bus_generic_attach(c695d200,c6f58400,c0993995,c6f58400,c6cb8800,...)
at bus_generic_attach+0x16
mfi_add_ld_complete(c697b130,c697b130,c6cb8800,0,c6974400,...) at
mfi_add_ld_complete+0xe5
mfi_add_ld(c6974400,0) at mfi_add_ld+0xcc
mfi_ldprobe(c6974400) at mfi_ldprobe+0xfe
mfi_check_command_post(c6974400,c697ad70,eae97080,c700d0c0,34) at
mfi_check_command_post+0x1b6
mfi_user_command(c6974400,c700d0c0,2,c09b478a,27d,...) at mfi_user_command+0x1a4
mfi_ioctl(c6963900,c03c4366,c700d0c0,3,c6fcb340,...) at mfi_ioctl+0x790
devfs_ioctl_f(c70092d0,c03c4366,c700d0c0,c6d37000,c6fcb340) at
devfs_ioctl_f+0xaf
ioctl(c6fcb340,ed2f1d04) at ioctl+0x396
syscall(3b,3b,3b,bfbfeaa0,240,...) at syscall+0x22f
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x28150877, esp =
0xbfbfea8c, ebp = 0xbfbfeaf8 ---
db>

all cpus in idle

db> show alllocks
Process 924 (mfiutil) thread 0xc6fcb340 (100156)
shared sx kernel environment r = 0 (0xc0ac2140) locked @
/usr/src/sys/kern/subr_hints.c:117
exclusive sleep mutex Giant r = 0 (0xc0ac4060) locked @
/usr/src/sys/dev/mfi/mfi.c:1329
exclusive sx MFI config r = 0 (0xc6974578) locked @
/usr/src/sys/dev/mfi/mfi.c:1737


-- 
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTil5tr99tq7TcmrJ_8M3-6qGJGVEjLX_5I3Wmq26>