On Wed, Sep 07, 2016 at 08:37:23PM +0530, Parav Pandit wrote:
Hi Leon,
quoted
quoted
Signed-off-by: Parav Pandit <redacted>
+static struct rdmacg_resource_pool *
+get_cg_rpool_locked(struct rdma_cgroup *cg, struct rdmacg_device *device)
+{
+ struct rdmacg_resource_pool *rpool;
+
+ rpool = find_cg_rpool_locked(cg, device);
+ if (rpool)
+ return rpool;
+
+ rpool = kzalloc(sizeof(*rpool), GFP_KERNEL);
+ if (!rpool)
+ return ERR_PTR(-ENOMEM);
+
+ rpool->device = device;
+ set_all_resource_max_limit(rpool);
+
+ INIT_LIST_HEAD(&rpool->cg_node);
+ INIT_LIST_HEAD(&rpool->dev_node);
+ list_add_tail(&rpool->cg_node, &cg->rpools);
+ list_add_tail(&rpool->dev_node, &device->rpools);
+ return rpool;
+}
<...>
quoted
+ for (p = cg; p; p = parent_rdmacg(p)) {
+ rpool = get_cg_rpool_locked(p, device);
+ if (IS_ERR_OR_NULL(rpool)) {
get_cg_rpool_locked always returns !NULL (error, or pointer)
Can this change go as incremental change after this patch, since this
patch is close to completion?
Or I need to revise v13?
Sure, it is cleanup. It is not worth of respinning.
quoted
quoted
+ ret = PTR_ERR(rpool);
+ goto err;
I didn't review the whole series yet.
Did you get a chance to review the series?
We need to decide on fundamental question before reviewing it, which is
"how to fit rdmacg to new ABI model".
Thanks