Thread (21 messages) 21 messages, 3 authors, 2016-03-17

Re: [PATCHv9 1/3] rdmacg: Added rdma cgroup controller

From: Haggai Eran <hidden>
Date: 2016-03-03 07:52:23
Also in: linux-rdma, lkml

On 03/03/2016 04:49, Parav Pandit wrote:
Hi Tejun, Haggai,

On Thu, Mar 3, 2016 at 1:28 AM, Parav Pandit [off-list ref] wrote:
quoted
quoted
quoted
+     rpool->refcnt--;
+     if (rpool->refcnt == 0 && rpool->num_max_cnt == pool_info->table_len) {
If the caller charges 2 and then uncharges 1 two times, the refcnt
underflows?  Why not just track how many usages are zero?
This is certainly must fix bug. Changed refcnt to usage_sum and changed to do
usage_sum -= num during uncharging
and
usage_sum += num during charing.
This is not sufficient as css_get() and put are done only once per
call, which leads to similar problem as of refcnt.
Are css_get_many() and css_put_many() relevant here?
As I think more, I realised that this particular test is missing that
resulted in this related bug, I realize that we don't have use case to
have "num" field from the IB stack side.
For bulk free IB stack will have to keep track of different or same
rdmacg returned values to call uncharge() with right number of
resources, all of that complexity just doesn't make sense and not
required.
So as first step to further simplify this, I am removing "num" input
field from charge and uncharge API.
IIRC there are no instances in the RDMA subsystem today where userspace
allocates more than one resource at a time.

Yishai, in your proposed RSS patchset did you have a verb to allocate
multiple work queues at once?

Haggai
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help