rdmacg: Added rdma cgroup controller
authorParav Pandit <pandit.parav@gmail.com>
Tue, 10 Jan 2017 00:02:13 +0000 (00:02 +0000)
committerTejun Heo <tj@kernel.org>
Tue, 10 Jan 2017 16:14:27 +0000 (11:14 -0500)
commit39d3e7584a686541a3295ff1624d341e669e1afc
tree611c0f26db570d8207fb22a8ca2b96392196f0a3
parent7b4632f048415263669676dda20fd5d811c3d3e4
rdmacg: Added rdma cgroup controller

Added rdma cgroup controller that does accounting, limit enforcement
on rdma/IB resources.

Added rdma cgroup header file which defines its APIs to perform
charging/uncharging functionality. It also defined APIs for RDMA/IB
stack for device registration. Devices which are registered will
participate in controller functions of accounting and limit
enforcements. It define rdmacg_device structure to bind IB stack
and RDMA cgroup controller.

RDMA resources are tracked using resource pool. Resource pool is per
device, per cgroup entity which allows setting up accounting limits
on per device basis.

Currently resources are defined by the RDMA cgroup.

Resource pool is created/destroyed dynamically whenever
charging/uncharging occurs respectively and whenever user
configuration is done. Its a tradeoff of memory vs little more code
space that creates resource pool object whenever necessary, instead of
creating them during cgroup creation and device registration time.

Signed-off-by: Parav Pandit <pandit.parav@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/cgroup_rdma.h [new file with mode: 0644]
include/linux/cgroup_subsys.h
init/Kconfig
kernel/cgroup/Makefile
kernel/cgroup/rdma.c [new file with mode: 0644]