Tao Chen wrote:
Hello,
There is a dead lock condition in my driver code. I do not understand the message "Deadlock: cycle in blocking chain", how does it happen? How do I avoid it?
Tom
panic[cpu0]/thread=ffffff0003eddc80:
Deadlock: cycle in blocking chain
ffffff0003eddaa0 genunix:turnstile_block+9f3 ()
ffffff0003eddb20 unix:mutex_vector_enter+38d ()
ffffff0003eddb50 qla:qla_link_state_machine+22 ()
ffffff0003eddb70 qla:qla_timer+78 ()
ffffff0003eddbd0 genunix:callout_execute+b1 ()
ffffff0003eddc60 genunix:taskq_thread+1dc ()
ffffff0003eddc70 unix:thread_start+8 ()
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[email protected]
classic deadlock:
thread A holds lock 1
thread B holds lock 2
thread A now attempts to acquire lock 2
thread B now attempts to acquire lock 1
Solaris will detect an arbitrary number of threads in the
blocking chain...
You need to grab nested locks in a consistent order...
- Bart
--
Bart Smaalders Solaris Kernel Performance
[EMAIL PROTECTED] http://blogs.sun.com/barts
_______________________________________________
networking-discuss mailing list
[email protected]