Oliver,
I verified that it is my qla_gld_send( ) that hold the mutex which timer is
waiting for. Thanks! I am very happy to be able to find the origin of deadlock
from observation and using mdb tools. Cheers!
Tom
> fffffffee1c178f8::mutex
ADDR TYPE HELD MINSPL OLDSPL WAITERS
fffffffee1c178f8 adapt [b]ffffff000425cc80[/b] - - yes
>
>
> fffffffee1c178f8::mutex -f
ADDR TYPE HELD MINSPL OLDSPL WAITERS
fffffffee1c178f8 adapt [b]ffffff000425cc80[/b] - - yes
>[b] ffffff000425cc80[/b]::findstack
stack pointer for thread [b]ffffff000425cc80:[/b] ffffff000425bc90
[ ffffff000425bc90 resume_from_intr+0xbb() ]
ffffff000425bcd0 swtch+0xc3()
ffffff000425bd70 turnstile_block+0x85b()
ffffff000425bdf0 mutex_vector_enter+0x38d()
ffffff000425be50 qla_send_common+0x267()
ffffff000425be70 [b]qla_gld_send[/b]+0x4a()
ffffff000425bf70 gld_start+0x303()
ffffff000425bfc0 gld_wput+0x10c()
ffffff000425c040 putnext+0x2f1()
ffffff000425c0c0 ip_xmit_v4+0x347()
ffffff000425c2e0 ip_wput_ire+0x22e7()
ffffff000425c3c0 ip_output_options+0x289d()
ffffff000425c3f0 ip_output+0x24()
ffffff000425c420 ip_wput+0x39()
ffffff000425c490 put+0x270()
ffffff000425c540 icmp_inbound+0xa1a()
ffffff000425c600 ip_proto_input+0x665()
ffffff000425c6f0 ip_input+0x9d8()
ffffff000425c740 ip_rput+0x140()
ffffff000425c7c0 putnext+0x2f1()
ffffff000425c840 gld_passon+0x225()
ffffff000425c8d0 gld_sendup+0x23c()
ffffff000425ca80 gld_recv_tagged+0x2d3()
ffffff000425caa0 gld_recv+0x17()
ffffff000425caf0 ql_process_macip_rx_intr+0x1fc()
ffffff000425cb40 qla_response_pkt+0x1ec()
ffffff000425cb80 qla_gld_intr+0x1f0()
ffffff000425cbb0 gld_intr+0x32()
ffffff000425cc20 av_dispatch_autovect+0x8c()
ffffff000425cc60 dispatch_hardint+0x2f()
ffffff000422cab0 switch_sp_and_call+0x13()
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[email protected]