You are right, cq_lock will result into dead lock.
Should there be a additional compl_handler spin_lock?
I was measuring performance impact for adding it, and, irq_save() and 
irq_restore() variant showed additional 200 cycles, which I believe should be 
o.k.?

Parav

-----Original Message-----
From: Steve Wise [mailto:sw...@opengridcomputing.com] 
Sent: Thursday, October 20, 2011 9:52 PM
To: Roland Dreier
Cc: Pandit, Parav; kuma...@chelsio.com; linux-rdma@vger.kernel.org; 
d...@chelsio.com
Subject: Re: [PATCH] RDMA/cxgb4: Unblock reads on comp_channel

On 10/20/2011 11:06 AM, Roland Dreier wrote:
> On Thu, Oct 20, 2011 at 2:11 AM,<parav.pan...@emulex.com>  wrote:
>> http://lxr.linux.no/#linux+v3.0.4/Documentation/infiniband/core_locking.txt
>>
>> Line no 66 to 97 states that - at a given point of time, there should be 
>> only one callback per CQ should be active.
>> Is this ensured?
>>
>> compl_handler() is invoked from multiple places flush_qp() and 
>> post_qp_event() to my mind.
> Yes, does look like an issue with this patch :(
>

And I think this bug exists in the T3 driver too.


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to