Mike Christie wrote:
> Vasu Dev wrote:
>> Updating exch ref count based on timer_pending check can mess
>> up exch ref count if timer fires just after this check. Instead count
>> on del/mod_timer() return values to update exch ref count.
>>
> 
> Oh yeah, the timer refcount stuff is nice. I was thinking we could do 
> something similar for fc_fcp to avoid the del_timer_sync call. If 
> fc_io_compl only sets FC_SRB_COMPL, and releases the original ref taken 
> when the pkt is allocated. Then when the refcount is zero we can cleanup 

I meant we do the other cleanup processing that was done in fc_io_compl 
before.

> the other stuff in fc_io_compl where we call scsi_done and give the 
> command back to the scsi layer.
> 
> That would make fc_io_compl nicer. A temp problem would be that when we 
> call fc_fcp_pkt_release we would have to hold the pkt lock or if 
> fc_fcp_pkt_release takes it for when it accesses the list, it would have 
> to make sure callers have dropped the lock. When we remove the list that 
> will go away and be nice too.
> 
> The other option for the timer in fc_fcp would be if we had a single 
> timer, that would check all outstanding commands. This would be nice 
> because we would only need one timer for all commands, but we would need 
> a list again to loop over all the commands or we could go with the 
> lookup table again, but either way we would have to grab a host wide 
> lock to traverse every running pkt every timeout period which could be alot.
> _______________________________________________
> devel mailing list
> [email protected]
> http://www.open-fcoe.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to