[rds-devel] cq event handler - using mutex

Steve Wise swise at opengridcomputing.com
Tue Jan 13 11:56:42 PST 2009


Steve Wise wrote:
> Andy,
>
> I think rds_ib_recv_cq_comp_handler() shouldn't be using a mutex.  If 
> you turn on mutex debugging, you'll see a DEBUG_LOCKS_WARN_ON() from 
> spin_lock_mutex() in kernel/mutex_debug.h because in_interrupt() is TRUE.
>
> The RDMA kernel mode cq completion callback func is called from the 
> interrupt context...
>   

So I think you either need to change the mutex to a spin lock, which 
will then force GFP_ATOMIC allocations, or create a work item for the 
work queue thread to refill the recvs and just schedule that in the 
interrupt path...

Steve.




More information about the rds-devel mailing list