On Monday 10 September 2012 13:35, Or Gerlitz wrote:
> Jack,  Max
> 
> Actually, can't we do well with rcu_read_lock() in mlx4_cq_completion() 
> as that commit documentation suggests?
> 
I don't know. I do notice (in file include/linux/rcupdate.h) that 
rcu_read_lock/unlock
is meant to be used in the interrupt context. Would it be sufficient (besides 
rcu_read_lock/unlock calls) to add
a call rcu_synchronize() in mlx4_cq_free (after calling synchronize_irq)?

Could we also then dispense with the spinlocks in mlx4_cq_event() as well?

Acquiring the SINGLE cq_table->lock spinlock for EVERY completion event
of EVERY cq seems very nasty to me (probably why Roland did not do this), and 
it would
clearly be desirable not to have to do this. 

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

Reply via email to