Sorry for the late response. I did not have internet access on Friday. Dev, Vasu wrote: > > With this patch, the entire fc_lun_reset_send() has pkt lock > held while sending frame down via fc_exch.c and network layer. > The fc_exch.c can sleep in exch allocation, I need to fix that
Ah shoot. So we cannot hold spin locks while calling exch_seq_send? The srr and rec functions have the pkt lock held while calling exch_seq_send too. Did you see my mail where I thought it could sleep or where did you see this can happen? I ask because I might have been wrong. I thought it could for a while but when I looked at the code again I thought it would not actually allow us to be preempted like I thought originally. Did I read it write the first time, or did you find something else? > and that is a separate issue but in general what do you think on > calling into fc_exch.c with or without any lock held ? > For fc_fcp.c we just have those issues where we want to set the seq_ptr after we call exch_seq_send, so if there was some crazy case where we send the sequence, and it completes on a another thread before exch_seq_send returns the fc_fcp.c response handler is going to get confused. Does fc_exch.c prevent this type of race for the upper layer? _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
