[rds-devel] [git pull] IB device refcounting
andy.grover at oracle.com
Thu Jun 10 13:29:48 PDT 2010
On 06/02/2010 12:09 PM, Zach Brown wrote:
> On May 25, 2010, at 5:25 PM, Andy Grover wrote:
>> On 05/24/2010 01:38 PM, Zach Brown wrote:
>>> RDS/IB: add refcount tracking to struct rds_ib_device
>> Kernels earlier than 2.6.21 do not have cancel_work_sync. We need
>> to create a backport patch. Is cancel_delayed_work/flush_workqueue
>> a possible replacement for these earlier kernels?
> Yeah, it looks like that's the way to go. Earlier flush_workqueue()
> notices when it's called in the work queue's thread and just runs the
> queue. Current kernels trip a WARN_ON in that case.
>> If you can send me a patch, I can handle fitting it into OFED's
>> backport system.
> How's this look?
Looks good to me, thanks! -- Andy
> --- a/net/rds/ib_rdma.c
> +++ b/net/rds/ib_rdma.c
> @@ -244,7 +244,7 @@ void rds_ib_get_mr_info(struct rds_ib_device *rds_ibdev, struct rds_info_rdma_co
> void rds_ib_destroy_mr_pool(struct rds_ib_mr_pool *pool)
> - cancel_work_sync(&pool->flush_worker);
> + cancel_rearming_delayed_workqueue(rds_wq,&pool->flush_worker);
> rds_ib_flush_mr_pool(pool, 1);
More information about the rds-devel